PetCore

PetCore

Cozy companion pets for Paper: adopt from a YAML catalogue, follow/stay/home behaviour, an owner-defined pet home, bonding with tiers & rewards, cozy cosmetics (personalities, titles, emotes), and token gifts. Standalone, EN + NL.

115 downloads 1 followers

PetCore

Cozy, persistent companion pets — the comfort feature your server has been missing, done cleanly and safely.

PetCore gives every player a companion animal that walks behind them, can be told to stay or to live in a little home they build, and grows a bond over time. There are no runtime dependencies at all: no database, no economy plugin, no WorldGuard, no Bedrock form toolkit. Everything is YAML you can read, and every word a player sees ships in English and Dutch.

🐾 Cozy, never combat. Pets are invulnerable, never deal or take damage, and never target players or mobs. No stat buffs, no combat perks — ever.


🐾 Adopt from a catalogue

A YAML catalogue of adoptable animals — cats, dogs, foxes, allays, sniffers and more — each with a display name, permission gate, locomotion profile, biome affinity and lore. Players hold several up to a permission-driven slot limit and switch between them. Optional per-pet cost runs a console command first, so adoption can charge coins through any economy plugin.

/pet adopt | switch | release | info.

🚶 Three cozy behaviours

  • Follow — walks just behind the owner, using the real Paper pathfinder, and teleports to catch up past a distance.
  • Stay — sits where it was left.
  • Home — lives inside a region the owner outlines, gently wandering within it.

/pet behind | stay | cage | tphere | tpcage.

🏡 A pet home you build yourself

Two corners, /pet savecage, and a particle outline confirms it. Validated by self-contained size rules (a hard 3×3×2 minimum and configurable max width/length/height/chunks/area), an optional allowed-worlds list, and an optional distance-from-owner limit — no land-claim or WorldGuard dependency.

💛 Bonding with tiers

Bond grows from cozy moments — being near you, resting by a campfire, travelling together, a first rename — each on its own cooldown so it can't be farmed. Crossing a tier unlocks titles, emotes and cosmetics, and can grant a one-time reward (items, XP, console commands, chat lines — never a direct economy call). A calm bond bar and action-bar notices keep it gentle.

🎀 Cozy cosmetics

Random personalities, unlockable titles and emotes, cosmetic home styles, seasonal particle cosmetics (that appear only in their months), a live mood, favourite-biome discovery, and keepsakes. All decorative, all in config.

🎁 Gifts

Send another player a cozy pet gift they redeem with a token — applying a small bond bonus and optionally a cosmetic, title or keepsake. An optional module that builds on pets through the service registry.

/petgift <player> <gift> [note] | list | claim <token>.


Entity hygiene is the headline

This plugin spawns and persists mobs, so it's built to be tidy:

  • Every pet is tagged with its owner and id and spawned non-persistent, so the server never writes it to region files — a crash or restart leaves no loose pets.
  • Orphan/duplicate sweeps run on enable, on chunk load, and on a timer; /pet cleanup and /pet debug are there when you want them.
  • Pets despawn when their owner logs off and re-spawn on join; caged pets only materialise when a player is near.
  • No plugin chunk tickets by default — pets never keep chunks loaded unless you opt in.
  • Movement uses the public Mob#getPathfinder() API and Bukkit teleport — no NMS, no reflection, nothing version-locked.

Modular & standalone

Every feature is a module you can switch on or off. pets is the foundation; the optional gifts module depends on it and, if pets are off, logs one line and stays off rather than half-starting. No database, no external plugin dependencies, all data in plain YAML.

Built for Paper 26.2

Adventure components everywhere, registry-based type lookups, pre-spawn entity configuration, the modern pathfinder API. Ships with JUnit tests for the parts that matter: home-bounds containment and the size-validation matrix, PetMode / PetSupportProfile parsing, bond cap-and-cooldown bookkeeping, permission-driven slot resolution, pet-id normalisation, and cosmetic/season parsing.

Languages

English and Dutch out of the box. Every player-facing string is in a language file — add your own by copying one.

No gallery available for this project.

Version Minecraft Loader Download

PetCore 1.0.0

1.0.0

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
paper, purpur
Download