Permissions
Permissions
Section titled “Permissions”All permission nodes used by the KyuubiSoft Pets mod. Permissions use Hytale’s native hasPermission() system.
Permission Nodes
Section titled “Permission Nodes”| Permission | Default | Description |
|---|---|---|
ks.pet.user.use | true | Use the /kspet command and all player subcommands (summon, dismiss, rename, stats, filter, collection, bestiary) |
ks.pet.user.combat | true | Use the /kscombatpet command for combat pet management |
ks.pet.user.mount | true | Use the /ksmount command for mount summoning and dismounting |
ks.pet.admin | false | Use the /kspetadmin command (all admin subcommands) |
:::info Default Behavior
All player permissions default to true — every player can use pets, combat pets, and mounts out of the box. Only the admin permission (ks.pet.admin) must be explicitly granted.
:::
Permission Details
Section titled “Permission Details”ks.pet.user.use
Section titled “ks.pet.user.use”Grants access to the main pet system. Without this permission, the player cannot:
- Open the Pet Menu (
/kspet) - Summon or dismiss pickup pets
- Rename pets
- View pet stats
- Configure pickup filters
- Open the Collection or Bestiary pages
- Open Combat Pet or Mount pages via
/kspet combatand/kspet mount
ks.pet.user.combat
Section titled “ks.pet.user.combat”Grants access to the standalone combat pet command. Without this permission, the player cannot:
- Use
/kscombatpet statsto view combat pet statistics in chat
Note: The /kspet combat subcommand (which opens the combat UI page) is gated by ks.pet.user.use, not this permission.
ks.pet.user.mount
Section titled “ks.pet.user.mount”Grants access to the standalone mount command. Without this permission, the player cannot:
- Use
/ksmount summon <type>to summon mounts via command - Use
/ksmount dismountto dismount via command - Use
/ksmount listto list available mounts
Note: The /kspet mount subcommand (which opens the mount selection UI) is gated by ks.pet.user.use, not this permission.
ks.pet.admin
Section titled “ks.pet.admin”Grants access to all admin commands. This permission is enforced at the command registration level via requirePermission(). Without it, the /kspetadmin command is completely hidden from the player.
Admin capabilities include:
- Giving and removing pets from players (
give,remove) - Setting pet levels and granting XP (
setlevel,addxp) - Rerolling and maxing out pet stats (
reroll,maxout) - Inspecting pet items and player data (
inspect) - Opening the Pet Creator UI (
creator/create) - Reloading configuration (
reload) - Cleaning up orphaned NPCs (
cleanup,cleanworld,despawnall) - Listing all registered pet types (
list) - Live data reload without server restart (
dbreload <player>) — drops the cachedPlayerPetData, flushes dirty writes, then reloads from JSON + SQLite so manual DB/JSON edits take effect immediately - WAL checkpoint (
dbflush) — runsPRAGMA wal_checkpoint(TRUNCATE)on the SQLite connection so externalsqlite3sessions see the current state and the.db-walfile shrinks. No-op on MySQL setups.
Pet instances are identified by UUID. Admin commands that take a <type> argument now also accept a full instance UUID or an unambiguous UUID prefix — useful when a player owns multiple pets of the same type. If the type ID matches multiple instances, the command prints the list of instance IDs instead of silently operating on the first one.
Permission Setup Examples
Section titled “Permission Setup Examples”Allow all players to use pets (default)
Section titled “Allow all players to use pets (default)”No configuration needed. All ks.pet.user.* permissions default to true.
Restrict mounts to a specific rank
Section titled “Restrict mounts to a specific rank”Remove the default mount permission and grant it only to premium players:
# Deny mount access by defaultks.pet.user.mount: false
# Grant to premium groupgroup.premium: ks.pet.user.mount: trueAdmin-only setup
Section titled “Admin-only setup”# Grant admin permissions to staffgroup.admin: ks.pet.admin: trueLanguage Command
Section titled “Language Command”The /kslang command has no permission check — all players can use it to change their display language. This is by design, as language selection is a personal preference.
Item Interactions
Section titled “Item Interactions”Pet Eggs, Battle Runes, Mount Horns, and Scroll items (Reroll/Refine) do not have separate permission checks. Any player who possesses the item can right-click it to use it. Access control is managed by controlling who receives the items (via loot tables, shops, or admin commands).