Functionality to lock blueprintsSuggestion
Orange,

I needed functionality to lock a single blueprint for a single user.  Here is the diff of the code change I made.  Hopefully you can integrate it.

Thanks,
seacowz

149a150,166
> private void LockBlueprints(BasePlayer player, List<int> blueprints)
> {
> var playerInfo = SingletonComponent<ServerMgr>.Instance.persistance.GetPlayerInfo(player.userID);
>
> foreach (var blueprint in blueprints)
> {
> if (playerInfo.unlockedItems.Contains(blueprint) == true)
> {
> playerInfo.unlockedItems.Remove(blueprint);
> }
> }
>
> SingletonComponent<ServerMgr>.Instance.persistance.SetPlayerInfo(player.userID, playerInfo);
> player.SendNetworkUpdateImmediate();
> player.ClientRPCPlayer(null, player, "UnlockedBlueprint", 0);
> }
>
239c256,267
<
---
>
> case "lock":
> if (args.Length < 3)
> {
> Message(arg, "Usage");
> return;
> }
>
> var lockItemID = ItemManager.FindItemDefinition(args[2])?.itemid ?? 0;
> LockBlueprints(target, new List<int>{lockItemID});
> break;
>
337a366
> " * blueprintmanager lock 'player name or id' 'item shortname' - lock specified blueprint for player\n" +
Good idea, i will add same functional later