This wiki is currently under active development.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Permissions

Every MyPet permission node, what it grants, and its default.

MyPet uses standard Bukkit permission nodes, so any permission plugin (LuckPerms, etc.) can manage them. This page lists every node, what it grants, and its default, grouped by who it's meant for.

How defaults work

Each node has one of two behaviours out of the box:

  • Bundled into mypet.player — granted to normal players automatically when you give a group the mypet.player bundle. This is the everyday player toolkit.

  • default: op — only operators (or players you grant it to explicitly) have it. All admin and bypass nodes are op-only, so ordinary players never get them by accident.

Two umbrella nodes cover the common cases:

  • mypet.player — the normal-player bundle (see Player permissions).

  • mypet.admin — the full admin bundle; grants every admin, bypass, and storage node listed under Admin permissions.

Grant the umbrella for convenience, or grant individual child nodes for least-privilege setups.

Player permissions

The mypet.player bundle

Granting mypet.player gives a player the standard toolkit:

Node
Grants

mypet.leash.*

Leash (tame) every pet type.

mypet.command.respawn

/petrespawn

mypet.command.release

/petrelease

mypet.command.capturehelper

The CaptureHelper.

mypet.command.name

/petname

mypet.command.name.color

Use colours in pet names.

mypet.command.name.format

Use formatting tags (bold, italic, …) in pet names.

mypet.command.options

The MyPet options command.

mypet.command.trade.offer.*

Offer any pet type for trade.

mypet.command.trade.receive.*

Receive any pet type in a trade.

mypet.command.list

/petlist (own pets).

Other player command nodes (mypet.command.switch, mypet.command.store, mypet.command.info.other) are declared separately and can be granted as needed.

Pet menu buttons (/pet)

Some buttons in the /pet menu are shown only to players with a matching node. These nodes are not in the mypet.player bundle and are not declared by the plugin, so they are default: op — grant them explicitly to show the button to normal players.

Node
Shows the button

mypet.command.call

Call

mypet.command.stay

Stay

mypet.command.sendaway

Send away

mypet.command.trade

Trade (also required to appear in another player's trade-target list)

mypet.command.chooseskilltree

Choose skilltree

mypet.command.behavior

Behavior (only when the pet has the Behavior skill)

mypet.command.pickup

Pickup (only when the pet has the Pickup skill)

mypet.command.inventory

Backpack (only when the pet has the Backpack skill)

These nodes only control the menu buttons; the matching slash commands do not check them. The Rename, Switch, Release, and Store buttons use the command nodes listed above (mypet.command.name, mypet.command.switch, mypet.command.release, mypet.command.store).

Extended permissions

Extended permissions are not part of the mypet.player bundle — grant them explicitly to unlock the matching capability. This lets you sell/gate features per rank.

Extended permissions are only checked when MyPet.Permissions.Extended is true in config.yml (default false). While it is false, every player can use these features without the nodes.

Node
Grants

mypet.extended.feed

Declared by the plugin, but currently has no effect — nothing checks it.

mypet.extended.equip

Equip pets.

mypet.extended.beacon

Open the beacon GUI.

mypet.extended.toolbox

Open the Toolbox skill's workstations (/pettoolbox and the /pet menu's Toolbox button).

mypet.extended.inventory

Open the pet's inventory (backpack).

mypet.extended.ride

Mount pets.

mypet.extended.ride.fly

Fly the pet while riding.

mypet.extended.control

Control (walk) pets.

mypet.extended.pickup

Enable item pickup.

mypet.extended.behavior.friendly

Use the friendly behavior.

mypet.extended.behavior.aggressive

Use the aggressive behavior.

mypet.extended.behavior.farm

Use the farm behavior.

mypet.extended.behavior.raid

Use the raid behavior.

mypet.extended.behavior.duel

Use the duel behavior.

Per-pet-type nodes

mypet.leash.* and the trade wildcards each expand into one child node per pet type, registered automatically at runtime — including pet types added by third-party plugins. Grant a single type instead of the wildcard to restrict players to specific mobs:

Pattern
Grants

mypet.leash.<PetType>

Leash only that pet type (e.g. mypet.leash.Wolf).

mypet.command.trade.offer.<PetType>

Offer only that pet type for trade.

mypet.command.trade.receive.<PetType>

Receive only that pet type in a trade.

<PetType> is the internal type name (e.g. Wolf, Creeper, Creaking).

Experience multipliers

When the PERMISSION experience modifier is enabled in the config, a player's pet earns bonus experience based on a mypet.experience.multiplier.<percent> node. Any positive integer works, and the highest matching node wins — the declared examples below are just presets.

Node
Effect

mypet.experience.multiplier.125

+25% experience (1.25×).

mypet.experience.multiplier.150

+50% experience (1.50×).

mypet.experience.multiplier.175

+75% experience (1.75×).

mypet.experience.multiplier.200

+100% experience (2.00×).

mypet.experience.multiplier.225

+125% experience (2.25×).

mypet.experience.multiplier.250

+150% experience (2.50×).

The <percent> is applied as percent / 100, so .183 → 1.83× and .50 → 0.5× (halved). If the modifier is disabled or the owner is offline, experience passes through unchanged.

Storage limit

The number of pets a player may store is capped by their highest mypet.petstorage.limit.<X> node.

Node
Effect

mypet.petstorage.limit.<X>

Store up to X pets. X must be ≤ the mypet.Max-Stored-Pet-Count config value.

mypet.petstorage.limit.*

default: op · granted by mypet.admin · store the configured maximum (unlimited tier).

See Pet Storage for the full explanation.

Pet shops

Neither node is in the mypet.player bundle; both are default: op.

Node
Effect

mypet.shop.access.<shopname>

Open the shop <shopname> with /petshop <shopname>. Grant mypet.shop.access.* for every shop.

mypet.shop.storage

Buy a pet while you already have an active pet. Without it, the purchase is refused until your current pet is stored or released.

See pet-shops.yml for defining shops.

Skilltree access

A skilltree can require a permission before a player may use it. The node is derived from the skilltree (or the value of its permission requirement):

Pattern
Grants

mypet.skilltree.<name>

Access the skilltree <name> (when it has a permission requirement).

See Skilltrees and the skilltree Requirements.

Admin permissions

The mypet.admin bundle

mypet.admin (default: op) is an umbrella node that grants every admin, bypass, and storage node below. Grant it for full admin capability, or grant individual children for least-privilege delegation.

No code path checks the bare mypet.admin node for behaviour — it is purely a bundle. The old isMyPetAdmin() API method was removed; these granular nodes replace it.

/mypet subcommands

Node
Command / action

mypet.admin.editor

/mypet editor — open the web editor.

mypet.admin.reload

/mypet reload

mypet.admin.ticket

/mypet ticket

mypet.admin.update

/mypet update

/petadmin subcommands

Node
Subcommand

mypet.admin.clone

clone

mypet.admin.create

create

mypet.admin.exp

exp

mypet.admin.exprate

exprate

mypet.admin.info

info

mypet.admin.name

name

mypet.admin.npc

npc

mypet.admin.purge

purge

mypet.admin.remove

remove

mypet.admin.respawn

respawn

mypet.admin.skilltree

skilltree

mypet.admin.switch

switch

Acting on other players' pets

These let a moderator run standard pet commands targeting another player's pet:

Node
Command

mypet.command.info.other

/petinfo <player>

mypet.command.list.other

/petlist <player>

mypet.command.skill.other

/petskill <player>

mypet.command.inventory.other

/petinventory <player>

mypet.command.sendaway.other

/petsendaway <player>

mypet.command.shop.other

/petshop <shopname> <player> — open a shop for another player

mypet.command.shop.other is the only node in this table that also works from the console and from command blocks, where no sender permission is checked at all. That is what lets a GUI plugin open a pet shop with petshop <shopname> %player%. The player it is opened for does not need mypet.shop.access.<shopname> — the sender's permission is the authorization.

Notification node

Node
Effect

mypet.admin.notify

Receive in-game notifications when a web-editor session (/mypet editor) applies changes.

Bypass permissions

Bypass nodes exempt a player from a normal gameplay restriction. All are default: op and are granted by the mypet.admin bundle, so existing admins are unaffected.

Node
Effect

mypet.bypass.skilltree

Skip automatic skilltree assignment and the choose-only-once lock.

mypet.bypass.fee

Exempt from the skilltree switch fee (unless Skilltree.SwitchFeeAdmin is set).

mypet.bypass.death

Exempt from release-on-death and backpack-drop-on-death.

mypet.bypass.inventory

Open your own pet's backpack without mypet.extended.inventory.

mypet.bypass.creative

Use the pet backpack and pickup in Creative mode even when Backpack.OpenInCreative is disabled.

NPC nodes

Used with the MyPet-NPC Citizens integration:

Node
Effect

mypet.npc.shop

Use a pet-shop NPC.

mypet.npc.storage

Use a pet-storage NPC.

Last updated

Was this helpful?