Skip to content

Collector Pets

Collector pets follow you and pick up dropped items for you. They level up from what you do, roll random stats that buff you, and live in a Pet Egg that you can carry, store or trade. 26 collector pets ship with the plugin.

The collector module is on by default (modules.collector in config.json, see Configuration). In the Pet Compendium (/kspet) collector pets have their own tab, “Collector pets”.


  • Right-click a Pet Egg to summon its pet. Right-click the same egg again to send the pet home. Right-clicking a different egg sends the current collector pet home and summons the new one.
  • You can also summon and dismiss from the Pet Compendium, or use /kspet summon <type> and /kspet dismiss (see Commands). Every way needs the pet’s egg in your inventory.
  • One collector pet can be out at a time, next to one combat pet and one mount.
  • The pet appears two blocks next to you and follows you. If it falls more than petTeleportDistance blocks behind (default 30), it is teleported back to you. This is checked every 2 seconds.
  • Collector pets cannot be hurt.
  • The pet is sent home when its egg leaves your inventory (dropped, put into a chest, traded away), when you die, when you change worlds and when you log out.

  1. A dropped item is a candidate when it lies within 15 blocks of you (measured horizontally) and no more than 5 blocks above or below you.
  2. Only real drops count: items with a despawn timer. Items that are placed in the world (flowers, decorations) are never touched.
  3. The item must pass the pet’s pickup filter.
  4. The pet walks to the item. As soon as it is within its pickup radius, the item goes into your inventory, storage first, then the hotbar. The pickup radius is the pet type’s pickupRadius (1.5 to 2.5 blocks for the shipped pets) plus the pet’s Pickup Range stat.
  5. The pet returns to you. It also comes back right away if the item disappears first, if you walk more than 15 blocks away from the item, or if you change the filter so the item no longer qualifies.

If your inventory has no room, the item stays on the ground.


Only the summoned collector pet earns XP from these sources:

SourcexpSources keyDefaultWhen
KillmobKill25You kill a creature (the kill must be credited to you)
Block breakblockBreak2You break a block. Containers (chests, crates, …) give nothing
Craftingcrafting10You craft something (per craft)
Item pickupitemPickup2The pet picks up an item you did not drop yourself

The pet’s Pet XP stat raises every XP gain of that pet (a +10 % Pet XP stat gives 1.1 times the XP).

XP needed to go from level L to L + 1:

baseXpPerLevel * xpScaleFactor ^ (L - 1)

Example, Baby Duck (baseXpPerLevel 100, xpScaleFactor 1.15): 100 XP for level 2, 352 XP from level 10 to 11, 81,940 XP from level 49 to 50, about 627,500 XP in total to reach level 50. All shipped collector pets have a maximum level of 50.

On a level-up you get a notification, a sparkle effect at the pet (only you see it) and a sound. Stats that unlock at the new level are rolled, your buffs are updated and the egg’s tooltip is refreshed. At the maximum level the pet stops gaining XP.


Every pet type has a rarity. The rarity decides how many stats a pet rolls, at which levels they unlock and how good the rolls can be. The rules live in stat-pool.json (rarityRules) in the plugin folder:

RarityStatsUnlock levelsRoll quality
Uncommon21, 100 to 0.70
Rare31, 8, 160 to 0.85
Epic41, 6, 12, 200 to 1.00
Legendary51, 5, 10, 15, 250 to 1.20

How a stat is rolled:

  • The stats that unlock at level 1 are rolled when the pet hatches. Every other stat is rolled when the pet reaches its unlock level (also when an admin sets the level). Until then the compendium lists it as “Hidden stat · Lv. X”.
  • Each stat gets a random type from the stat pool. The same type can appear up to maxSameType times on one pet (default 3); the values then add up.
  • The roll quality is a random number in the rarity’s range. The level 1 value is minBase + (maxBase - minBase) * quality, the growth per level is rolled the same way, and both are capped to the pool’s maximum. An uncommon pet therefore gets at most 70 % of the way from the lowest to the highest value, an epic pet can roll the full range, and legendary rolls above 1.0 are capped, so about one legendary roll in six lands exactly on the maximum.
  • The value at a level is base + perLevel * (level - 1). A stat that unlocks at level 10 has its full level-10 value right away.
  • When a player joins, all their pets’ stats are checked against the current stat-pool.json; values outside the configured ranges are clamped.

Example: a Damage stat with the best possible roll starts at +8.0 % and grows by +1.5 % per level, so it reaches +81.5 % at level 50.

The 11 stats in the shipped stat-pool.json. Percent values are shown as percent; the file stores them as fractions (0.08 = 8 %).

Stat (type)Shown asEffect while the pet is outLevel 1 valueGrowth per level
damage_bonusDamageYour damage is multiplied by (1 + value)1 to 8 %0.2 to 1.5 %
crit_chanceCrit ChanceChance that your hit deals double damage1 to 10 %0.2 to 1.5 %
armor_bonusArmorDamage you take is reduced by this share1 to 10 %0.2 to 1.2 %
life_stealLife StealYou heal this share of the damage you deal0.5 to 6 %0.1 to 1 %
thornsThornsEvery hit you take costs the attacker this much HP0.3 to 3.00.1 to 0.8
max_healthMax HealthAdds to your maximum HP2 to 201 to 5
stamina_regenStamina RegenAdded to your stamina when the pet’s buffs are applied0.3 to 3.00.1 to 0.6
mana_regenMana RegenAdded to your mana when the pet’s buffs are applied0.3 to 3.00.1 to 0.6
pickup_radiusPickup RangeBlocks added to the pet’s pickup radius0.3 to 3.00.05 to 0.5
xp_bonusPet XPMore XP for this pet1 to 15 %0.2 to 2 %
loot_luckLoot LuckChance that a stack the pet picks up is given twice2 to 15 %0.3 to 2 %

Server owners can change every range, the display names, maxSameType and the rarity rules in stat-pool.json (see Configuration).

  • The stats of your summoned collector pet are applied to you as buffs and refreshed every 30 seconds. Damage, Max Health and Armor also show as status effect icons.
  • Buffs of your collector pet and your combat pet are added together, then capped by statCaps in config.json (default caps include Armor 80 %, Damage +200 %, Crit Chance 75 %, Life Steal 50 %, Loot Luck 200 %, Thorns 50, Max Health +500 and Pickup Range +15 blocks; full list in Configuration).
  • Buffs are removed when the pet goes home.

When your pet picks up a stack, your Loot Luck is the chance to get the same stack a second time. With 12 % Loot Luck, 12 % of the pickups are doubled. At 100 % or more every pickup is doubled; there is never more than one extra copy.

No Loot Luck is rolled for items that came from you (see Item pickup) or for items on the loot luck blacklist.

  • File: mods/kyuubisoft_pets/loot_luck_blacklist.json, shipped empty ({ "patterns": [] }).
  • Patterns are case-insensitive. A pattern without * matches anywhere in the item ID (Ore hits Ore_Iron). With * the whole ID must match: Ore_* hits IDs that start with Ore_, *Gem* hits IDs that contain Gem.
  • Blacklisted items are still picked up and still give XP; they just never roll the Loot Luck double.
  • Admins manage the list in the admin window, section “Blacklist” (/kspetadmin lootluck), with quick picks for weapons, armor, tools, potions, food, ores, bars and gems and a live count of how many items each pattern hits. See Admin Panel.

Every collector pet has its own filter. It is saved with the pet, so it travels with the egg.

  • Blacklist mode: the pet picks up everything except items that match a rule.
  • Whitelist mode: the pet picks up only items that match a rule.
  • A filter without rules picks up everything, in both modes.
  • New pets start with defaultFilterMode (blacklist) and the defaultBlacklist rules from config.json: Dirt, Sand, Gravel and Cobblestone.

Open it with /kspet filter (your summoned collector pet, otherwise the first collector pet you own) or with the Pickup filter button of a collector copy in the compendium; “Back” then returns to the compendium on the same pet.

  • Mode: Blacklist or Whitelist.
  • Presets: replace all rules at once (table below).
  • Blocks: toggles for Dirt, Sand, Stone, Gravel, Cobblestone and Mud.
  • Item types: toggles for Weapons, Armor, Tools, Food (all consumables), Ores and Resources.
  • Custom rule: type an item name; * works as a wildcard (Stone*, *Ore*); Enter adds the rule.
  • Active rules: all rules, 12 per page, each with a remove button, plus “clear all”.
TypeMatchesExample
nameItem ID contains the text (case-insensitive). With * the whole ID must match the patternDirt, Stone*, *Ore*
prefixItem ID starts with the textOre_
categoryItem ID starts with the text or contains _ + textWood
propertyKind of item: weapon, armor, tool, consumable, block, glider, utility, ore (ID starts with Ore_), resource (ID starts with Resource_, Ingredient_ or Material_)weapon
qualityItem quality index is at least the number3

The window’s toggles and the custom field create name and property rules; the other types can be added with /kspet filter add <type> <value>. Because name is a “contains” match, the rule Stone also blocks Cobblestone and every other item whose ID contains “stone”.

PresetCommand nameModeRules
No junkno_junkBlacklistDirt, Sand, Stone, Gravel, Cobblestone, Mud
ValuablesvaluablesWhitelistWeapons, armor, tools, consumables, IDs starting with Ore_
Ores onlyores_onlyWhitelistIDs starting with Ore_
Pick allpick_allBlacklistNo rules (pick up everything)

Filter commands: /kspet filter mode <whitelist|blacklist>, /kspet filter add <type> <value>, /kspet filter remove <index> (counting from 0 in the order of the rule list), /kspet filter clear, /kspet filter preset <name>. See Commands.


  • Every collector pet has its own egg item (Pet_Egg_..., see the table below). Eggs do not stack.
  • The egg is the proof of ownership. A pet can only be summoned while its egg is in your inventory, and the compendium counts a pet as owned only while its egg is there. Trading the egg trades the pet with all its progress.
  • A blank egg (from a shop, a loot table or /give) hatches on its first right-click: a new pet with its own ID, freshly rolled stats, the type’s displayName as name and the default pickup filter. The first pet of a type you ever hatch shows a “New Pet Discovered!” title.
  • The egg only stores the pet’s ID. Level, XP, stats, name and filter are kept in the plugin’s SQLite database (mods/kyuubisoft_pets/pets.db). Hovering the egg shows the pet’s name, level, rarity and unlocked stats.
  • With maxPetsEverywhere: true in config.json, a blank egg does not hatch while all your pet slots (maxPetsPerPlayer) are used: “You already have 5/5 pets. No new pet can hatch.”
  • Pet eggs (and battle runes and mount horns) are never dropped when you die, whatever the world’s death setting (“Drop All” included) and also with KyuubiSoft Graveyard or Item Control installed. They stay in their inventory slot.
  • The egg’s item quality (the colour of its name) follows the rarity in the pet type file; it is updated on server start and on /kspetadmin reload.

When a player loses an egg, an admin can hand out a replacement with /kspetadmin restore <player> [type | id] or in the admin window (section “Player pets”). The pet keeps its level, stats and name.

  • Every restore raises the pet’s item generation (database table pet_item_gen; the new item carries PET_Gen). All older copies of the item become void: one that is used crumbles with the message “This item was replaced by a restored copy and crumbles to dust.”, and old copies no longer count as owned, cannot be summoned and do not count for the item checks.
  • A player who still has the pet out through an old copy has it sent home right away.
  • Items from before 1.10.0 count as generation 0 and stay valid until their pet is restored for the first time.
  • The player must be online and have a free inventory slot. If the new item cannot be delivered, nothing changes and the old item stays valid.
  • /kspetadmin inspect hand shows the generation of the item in your hand and whether it is stale.

The same applies to battle runes and mount horns.


Scrolls change the stats of a pet. Pet scrolls work on collector pets, Battle scrolls on combat pets (see Combat Pets).

Item IDNameWhat it does
Pet_Reroll_ScrollPet Stat Reroll ScrollOne unlocked stat gets a new random type and a new value
Pet_Refine_ScrollPet Stat Refine ScrollOne unlocked stat keeps its type and gets a new value
Pet_Reroll_All_ScrollPet Reroll All ScrollEvery unlocked stat gets a new type and value
Pet_Refine_All_ScrollPet Refine All ScrollEvery unlocked stat keeps its type and gets a new value
  • Right-click a scroll while your collector pet is summoned. The single-stat scrolls open a window where you pick the stat; every click uses one scroll. The “All” scrolls open a window that you confirm; the new values are only shown after the roll.
  • New values are rolled with the pet’s rarity, exactly like a natural roll, so a refine can also turn out worse. Locked stats cannot be changed, and maxSameType still applies.
  • Compendium dice (since 1.10.0): every unlocked stat of an owned copy has a small dice. Clicking it uses one Pet Stat Reroll Scroll from your inventory and rerolls that stat at once. The dice above the stat column rerolls all unlocked stats for one Pet Reroll All Scroll after one confirmation. This works for any copy, summoned or not. The dice are gold while you have a matching scroll and grey otherwise; the tooltip shows how many you have.
  • The scrolls have no crafting recipe. Hand them out through shops, loot or /give.

While a pet is out, the pet HUD shows a card for it: item icon with rarity ring, kind, level, name in its rarity colour, XP bar and a footer with your buffs and the number of collected items. Players choose the position and layout in the compendium header; until they do, the server default from config.json (hudPosition, hudLayout) applies. See UI Pages.

Pet HUD with a collector pet card and a combat pet card The pet HUD in the top left, vertical layout: a card for the collector pet and one for the combat pet.


Names are the displayName of each pet type file. Server owners can rename a pet by changing displayName (see Custom Pets Guide).

PetIDRarityEgg itemMax level
Baby Frost Dragondragon_frostLegendaryPet_Egg_Dragon_Frost50
Fire DragondragonLegendaryPet_Egg_Legendary50
Baby Fen Stalkerfen_stalkerEpicPet_Egg_Fen_Stalker50
Baby YetiyetiEpicPet_Egg_Yeti50
Baby ArchaeopteryxarchaeopteryxRarePet_Egg_Archaeopteryx50
Baby CacteecacteeRarePet_Egg_Cactee50
Baby Ferabferan_cubeRarePet_Egg_Feran_Cube50
Baby PenguinpenguinRarePet_Egg_Penguin50
Baby Skrillskrill_chickRarePet_Egg_Skrill_Chick50
CatcatRarePet_Egg_Cat50
FoxfoxRarePet_Egg_Fox50
HatwormhatwormRarePet_Egg_Hatworm50
Snow Owlowl_snowRarePet_Egg_Owl_Snow50
Baby BluebirdbluebirdUncommonPet_Egg_Bluebird50
Baby CrabcrabUncommonPet_Egg_Crab50
Baby DuckduckUncommonPet_Egg_Duck50
Baby GeckogeckoUncommonPet_Egg_Gecko50
Baby MeerkatmeerkatUncommonPet_Egg_Meerkat50
Baby Sand Lizardlizard_sandUncommonPet_Egg_Lizard_Sand50
BatbatUncommonPet_Egg_Bat50
BunnybunnyUncommonPet_Egg_Bunny50
Green Frogfrog_greenUncommonPet_Egg_Frog_Green50
ParrotparrotUncommonPet_Egg_Parrot50
SquirrelsquirrelUncommonPet_Egg_Squirrel50
TrorktrorkUncommonPet_Egg_Trork50
WolfwolfUncommonPet_Egg_Wolf50

The ID is what you type in commands such as /kspet summon fox or /kspetadmin give <player> fox.