Skip to content

Permissions

The Shop System uses the unified ks.<mod>.<scope>.<action> scheme plus rental/listing nodes and per-item dynamic permissions.

PermissionDefaultDescription
ks.shop.user.browse✅ allowedBrowse shops — list, open block shops, NPC shops
ks.shop.user.create✅ allowedCreate a new player shop (token interaction + command)
ks.shop.user.edit✅ allowedEdit your own shop (prices, items, layout, name, description)
ks.shop.user.delete✅ allowedDelete your own shop
ks.shop.user.rate✅ allowedRate another player’s shop
ks.shop.user.collect✅ allowedCollect sold items or coins from your shop
ks.shop.admin❌ staff onlyEvery /ksshopadmin subcommand

All user nodes default to allowed via hasPermission(node, true). Revoke from a group to restrict.

PermissionDefaultDescription
ks.rental.rent✅ allowedRent a rental-plot player shop
ks.rental.bid✅ allowedPlace a bid on a rental auction
ks.shop.list.free❌ opt-inGrant free listings (no listing-fee)
ks.shop.list.permanent❌ opt-inShop never expires (used by ShopService for listing duration logic)
CommandPermissionDescription
/ksshop browseks.shop.user.browseBrowse all shops
/ksshop open <id>ks.shop.user.browseOpen a shop by ID
/ksshop listks.shop.user.browseList all available shops
/ksshop create ...ks.shop.user.createCreate a player shop
/ksshop edit ...ks.shop.user.editEdit your shop
/ksshop delete <id>ks.shop.user.deleteDelete your shop
/ksshop rate <id> <stars>ks.shop.user.rateRate a shop
/ksshop collect <id>ks.shop.user.collectCollect shop earnings

Right-click on a Shop Block with the creation-token also gates on ks.shop.user.create.

All admin subcommands gate on ks.shop.admin.

CommandDescription
/ksshopadmin panelOpen the admin panel
/ksshopadmin create ...Create a server shop
/ksshopadmin edit ...Edit any shop (including players’)
/ksshopadmin delete <id>Force-delete any shop
/ksshopadmin listList every shop incl. expired
/ksshopadmin reloadReload shop configs
/ksshopadmin rental ...Manage rental plots & auctions
/ksshopadmin grant <player> <perm>Grant a listing flag
(additional subcommands for moderation, analytics, payout tools)

Alias: /shopadmin.

Individual server shop items can require a custom permission string for purchase. This is set per-item in the shop JSON:

{
"items": [
{
"itemId": "Weapon_Sword_Adamantite",
"name": "VIP Sword",
"cost": 50,
"permission": "shop.vip"
}
]
}

The mod calls hasPermission() on whatever string you set — the shop.vip prefix is convention, not enforced. Players without the permission see a NO_PERMISSION result at purchase.

If permission is unset or null, the item is open to everyone.

Terminal window
# Staff admin
/lp user Steve permission set ks.shop.admin true
# VIP group: free listings + permanent listings + VIP items
/lp group vip permission set ks.shop.list.free true
/lp group vip permission set ks.shop.list.permanent true
/lp group vip permission set shop.vip true
# Revoke shop creation from a restricted group
/lp group spectator permission set ks.shop.user.create false
/lp group spectator permission set ks.shop.user.edit false
/lp group spectator permission set ks.shop.user.delete false

Earlier docs referenced kyuubisoft.admin as the shop admin gate. This was inaccurate — the shop system has always had its own admin command. The correct node is now ks.shop.admin. Per-item permissions (shop.<custom>) remain user-authored.