It appears that if you use the bpreset command, it locks all of the BP's and then log back in, all BP's are unlocked again.
The way I allow users to do this is through the CustomChatCommands plugin. I give them permission to use the three unlock commands and I set another command to lock them. See the below code:
{
"Command": "unlocktier1",
"Messages": [
"You have unlocked all Tier 1 blueprints!"
],
"Permission": "customchatcommands.bpmt1",
"ConsoleCmd": null,
"UserID": 0,
"Broadcast": false,
"RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL1","c.grant user {player.id} blueprintmanager.WorkbenchLvL0"],
"Cooldown": 0.0,
"MaxUses": 0
},
{
"Command": "unlocktier2",
"Messages": [
"You have unlocked all Tier 2 blueprints!"
],
"Permission": "customchatcommands.bpmt2",
"ConsoleCmd": null,
"UserID": 0,
"Broadcast": false,
"RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL2"],
"Cooldown": 0.0,
"MaxUses": 0
},
{
"Command": "unlocktier3",
"Messages": [
"You have unlocked all Tier 3 blueprints!"
],
"Permission": "customchatcommands.bpmt3",
"ConsoleCmd": null,
"UserID": 0,
"Broadcast": false,
"RconCmd": ["c.grant user {player.id} blueprintmanager.WorkbenchLvL3"],
"Cooldown": 0.0,
"MaxUses": 0
},
{
"Command": "lockbp",
"Messages": [
"You have locked all of your BP's!"
],
"Permission": "customchatcommands.lockbp",
"ConsoleCmd": null,
"UserID": 0,
"Broadcast": false,
"RconCmd": ["bpreset {player.id}"],
"Cooldown": 0.0,
"MaxUses": 0
},