Skip to content

Admin Panel & Pet Creator

The Pet System includes a full admin command suite and an in-game Pet Creator UI for server administrators.

Permission required: ks.pet.admin


The Pet Creator is an interactive UI page that allows admins to build custom pets with full control over every parameter. Open it with:

/kspetadmin creator

or

/kspetadmin create
FieldTypeDescription
Pet TypeDropdownSelect from all registered pet types (shows display name, module, and rarity)
LevelText fieldPet level (1-100)
NicknameText fieldCustom display name (optional, defaults to type display name)
Target PlayerText fieldPlayer to receive the pet (optional, defaults to self)
Stat Slots (x5)Dropdown + Text fieldsUp to 5 stats, each with type, base value, per-level growth, and unlock level

The creator dropdown includes all 12 stat types:

Stat TypeDisplay Name
damage_bonusDamage Bonus
crit_chanceCrit Chance
armor_bonusArmor Bonus
max_healthMax Health
speed_bonusSpeed Bonus
pickup_radiusPickup Range
xp_bonusXP Bonus
loot_luckLoot Luck
life_stealLife Steal
stamina_regenStamina Regen
mana_regenMana Regen
thornsThorns

Clicking Max Stats automatically fills in optimal stat values:

  • Sets level to the pet type’s max level
  • Sets all stat unlock levels to 1 (all stats available immediately)
  • Applies maximum quality values based on the pet’s rarity
  • Respects combat-only stat pool for combat pets
  • Uses rarity rules to determine how many stat slots are available

Clicking Create validates all fields, creates the pet in the database, generates the summon item (egg/rune/horn) with proper metadata, and places it in the target player’s inventory.

A status message appears at the bottom of the page showing success or error details.


All admin commands require the ks.pet.admin permission.

Gives a pet egg/rune/horn to the specified player. The pet is created with default stats rolled based on rarity, and the item is placed directly into the player’s inventory.

/kspetadmin give Steve wolf
/kspetadmin give Steve wolf_combat
/kspetadmin give Steve rex_cave_mount

Removes a pet from a player’s data. If the pet is currently active, it is despawned first.

/kspetadmin remove Steve wolf

/kspetadmin setlevel <player> <type> <level>

Section titled “/kspetadmin setlevel <player> <type> <level>”

Sets a pet’s level directly. XP is reset to 0. Any stat unlock levels that were skipped are rolled automatically. Buffs are reapplied if the pet is active.

/kspetadmin setlevel Steve wolf 50

:::info Multi-Word Type IDs Type IDs with underscores can be written with spaces. The command joins all words between player name and the trailing number with underscores automatically.

/kspetadmin setlevel Steve dragon frost 30 is equivalent to /kspetadmin setlevel Steve dragon_frost 30 :::

/kspetadmin addxp <player> <type> <amount>

Section titled “/kspetadmin addxp <player> <type> <amount>”

Grants XP to a specific pet. Triggers level-ups and stat rolls as normal.

/kspetadmin addxp Steve wolf 5000

/kspetadmin reroll [<player> <type> | combat | collector | mount]

Section titled “/kspetadmin reroll [<player> <type> | combat | collector | mount]”

Clears all stats and re-rolls them from scratch based on rarity. Two usage forms:

/kspetadmin reroll Steve wolf -- Target a specific player's pet
/kspetadmin reroll combat -- Reroll your own active combat pet
/kspetadmin reroll collector -- Reroll your own active collector pet
/kspetadmin reroll -- Reroll your active pet (any type)

/kspetadmin maxout [<player> <type> | combat | collector | mount]

Section titled “/kspetadmin maxout [<player> <type> | combat | collector | mount]”

Sets a pet to its maximum level and ensures all stat slots are filled. Missing stats for unlock levels are rolled automatically. Two usage forms (same as reroll).

/kspetadmin maxout Steve wolf
/kspetadmin maxout combat

Inspects the pet item currently held in the admin’s hand. Shows full metadata including instance ID, type, level, XP, stats (with base values and per-level growth), filter rules, and combat mode.

/kspetadmin inspect hand

Inspects all pet items in a player’s inventory. Lists every egg/rune/horn found across hotbar, storage, and backpack, plus the player’s cached pet data (active pets, pet count).

/kspetadmin inspect Steve

Reloads config.json, stat-pool.json, all pet type definitions, and localization files without restarting the server.

/kspetadmin reload

Lists all registered pet types with their ID, display name, rarity, and max level.

/kspetadmin list

Force-removes all KS-role NPC entities from the default world. Useful for cleaning up orphaned pet NPCs after crashes or bugs. Also despawns all tracked active pets.

/kspetadmin cleanup

Scans all loaded worlds and removes orphaned KS-role NPC entities. More thorough than cleanup for multi-world servers.

/kspetadmin cleanworld

Despawns all currently active pet NPCs for all online players. Player data is preserved.

/kspetadmin despawnall

/kspetadmin lootluck

Opens a UI for editing the global Loot Luck blacklist. Item ids matching any pattern in the list will not roll the Loot Luck duplication chance, even when picked up legitimately. Useful to prevent specific items (junk blocks, high-tier gear, …) from ever being duplicated by loot_luck stat rolls.

This is independent from the per-player pickup filter — the pet still collects matched items, the player still gets exactly one of each. Only the duplication roll is suppressed.

SectionFunction
Quick TogglesOne-click toggles for six common categories: *_Tool_*, *_Weapon_*, *_Armor_*, *_Consumable_*, Ore_*, Resource_*. A > prefix on the button label indicates the pattern is active.
Add PatternText field + Add button for custom patterns. Pressing Enter in the field also commits.
Active PatternsPaginated list (12 per page) of all current patterns. Each row has a x delete button. Clear button at the top removes all patterns.
PatternBehaviorExample matches
DirtSubstring (case-insensitive) — patterns without * match any item id containing the textDirt, DirtBlock, Dirt_Coarse
*_Tool_*Wildcard — * becomes .* in regexItem_Tool_Pickaxe, Custom_Tool_Wrench
Ore_*Wildcard prefixOre_Iron, Ore_Gold
*_SpearWildcard suffixWood_Spear, Iron_Spear

All matching is case-insensitive.

Every mutation (toggle, add, remove, clear) live-saves to plugins/Pets/data/loot_luck_blacklist.json. The compiled regex cache is rebuilt on every change, so edits take effect on the next pickup tick — no /kspetadmin reload needed.

The file is intentionally separate from config.json to avoid the UI’s live-write clobbering parallel manual edits to other config fields.


ProblemSolution
Orphaned pet NPCs after crashRun /kspetadmin cleanup or /kspetadmin cleanworld
Pet data seems wrongUse /kspetadmin inspect <player> to check metadata
Stats seem brokenUse /kspetadmin reroll <player> <type> to re-roll stats
Need to test a max-level petUse /kspetadmin maxout or the Pet Creator UI
Pet egg missing from inventoryThe give command places the item directly; check hotbar/storage