I had to add this line and enable virtualitems.use permission for the free deployables to work.
privatevoidInit()
{
permission.RegisterPermission(PermissionVirtualItems,this);// ADDED THIS LINE---
_config.Init(this);
if(!_config.AnyRulesetHasFreeDeployables){Unsubscribe(nameof(OnPayForPlacement));}}
Free deployables
There must be something more to your proposed change because the PermissionsVirtualItems variable would have to be defined somewhere, and it would also need to be referenced later in the plugin logic to decide what the plugin behavior should be. Your post only shared code to register the permission, and that permission does not exist in the plugin originally (intentionally, because there is no need for it).
I'm not understanding the point of this change. Access to free deployables isn't gated directly via a permission in the plugin, it's part of the ruleset assigned to the player via permission. If you are seeing that players do not have free deployables, that's because the singular ruleset assigned to them doesn't have free deployables enabled. Most likely, you are not facing any bug, but rather you have a misunderstanding of how the plugin is designed and how to configure the plugin.
Sorry dude i must have been messing with the plugin. "you have a misunderstanding of how the plugin is designed and how to configure the plugin" yep.