Permissions
Permissions
Section titled “Permissions”Item Control uses the unified ks.<mod>.<scope>.<action> scheme plus per-item / per-recipe dynamic strings that admins author themselves.
ks.item.* Nodes
Section titled “ks.item.* Nodes”| Permission | Default | Description |
|---|---|---|
ks.item.user.browse | ✅ allowed | /ksitem browse — open the Item Browser |
ks.item.user.compare | ✅ allowed | /ksitem compare <a> <b> — side-by-side compare |
ks.item.user.soulbound | ✅ allowed | /soulbound — inspect your held item’s soulbound state |
ks.item.admin | ❌ staff only | Every admin subcommand below |
ks.item.give | ❌ staff only | /ksitem give (separate from general admin) |
ks.item.admin is an umbrella for every admin submodule (watchlist, usage, soulbound, override, temprules, drops, cooldowns, crafting, death, drop-prevention, inventory, reload, module, cmdblock). ks.item.give is intentionally separate so you can grant staff admin access without letting them spawn items.
Admin Subcommand Coverage
Section titled “Admin Subcommand Coverage”Single ks.item.admin grants every:
| Subcommand | Description |
|---|---|
/ksitem admin | Open Admin Hub UI |
/ksitem reload | Reload configs |
/ksitem module <enable|disable> | Enable/disable submodules |
/ksitem craft ... | Crafting rules |
/ksitem death ... | Death rules |
/ksitem restrict ... | Usage restrictions |
/ksitem soulbound ... | Soulbound rules |
/ksitem cooldown set/remove/list | Cooldown management |
/ksitem watch ... | Watchlist management |
/ksitem drops ... | Drop management |
/ksitem temprule ... | Temp rules |
/ksitem override ... | Item overrides |
/ksitem cmdblock ... | Command block editing |
/ksitem inv ... | Inventory tools (view, snapshot, restore, wipe, clear, history) |
Config-driven Dynamic Permissions
Section titled “Config-driven Dynamic Permissions”These are user-authored strings. The mod just passes your chosen value to hasPermission(), so you can name them whatever fits your server.
Crafting bypass
Section titled “Crafting bypass”{ "crafting-rules": { "bypassPermission": "kyuubisoft.itemcontrol.craft.bypass" }}Players with this permission can craft items on the blacklist. Default string is kyuubisoft.itemcontrol.craft.bypass — rename as you like.
Usage restrictions
Section titled “Usage restrictions”/ksitem restrict add Weapon_Legendary_Sword vip.legendary_weaponsOnly players with vip.legendary_weapons can equip the restricted item.
Custom recipes
Section titled “Custom recipes”Custom recipes can include a permission field; the mod hides the recipe from the browser and blocks crafting for players without it.
Death rules (per-permission overrides)
Section titled “Death rules (per-permission overrides)”{ "death-rules": { "permissionRules": [ { "permission": "vip.keepitems", "mode": "keep-all" }, { "permission": "vip.basic", "lossPercentage": 25 } ] }}Rules are evaluated in order; the first matching permission wins.
Watchlist notifications
Section titled “Watchlist notifications”The watchlist system reads the notification permission from config. Default string is kyuubisoft.itemcontrol.watchlist.notify — admins with this node receive real-time alerts when a watched item is crafted/picked up/dropped.
Command block protection
Section titled “Command block protection”Blocks flagged as indestructible by the Command Block submodule can only be broken by players holding ks.item.admin.
LuckPerms Examples
Section titled “LuckPerms Examples”# Staff admin — covers every admin submodule/lp user Steve permission set ks.item.admin true
# Separate give permission (common pattern: give to trusted mods)/lp group mod permission set ks.item.give true
# Crafting bypass for VIPs/lp group vip permission set kyuubisoft.itemcontrol.craft.bypass trueMigration from Legacy Nodes
Section titled “Migration from Legacy Nodes”The old nodes have been replaced:
| Legacy node | New node |
|---|---|
kyuubisoft.itemcontrol.admin | ks.item.admin |
kyuubisoft.itemcontrol.give | ks.item.give |
kyuubisoft.itemcontrol.inventory | (merged into ks.item.admin) |
The kyuubisoft.itemcontrol.craft.bypass and kyuubisoft.itemcontrol.watchlist.notify nodes remain as default strings in config but can be renamed — they’re user-driven dynamic permissions, not hardcoded gates.