Options to restrict crafting per groupSuggestion
Is there a way to allow only"vip" to craft certin things like holiday event stuff?
Anyone know of a way to assign certain items to to a group so only they can craft them? For example I want only my "vip" members to be able to craft the snowman or w/e items. I have looked at blocker and crafting controller but i cant find the command specifically for a group to have it unlocked
Not currently supported maybe in future versions.
oh man I really hope so that would would open up so much! thanks for the reply :)
+1 on this suggestion :)
+1 on this suggestion
I also would like this feature willing to donate $30 to get the feature expediated.
Yep id also love this feature
Merged post
Hey guys, update on this one - Easy Research does what your after except just stops them learning the blueprint. Maybe give that a try and send some love Khans way because he's added the feature as a request. Good for RP servers
I have added this feature if anyone wants it. Discord ID Khan#8615
Merged post
using WebSocketSharp; < Add Line 6>
<Take this section and add these >
public class CraftingData
{
public bool canCraft;
public bool canResearch;
public bool useCrafteRateMultiplier;
public float craftTime;
public int workbenchLevel;
public ulong defaultskinid;
public string SetPermission; < Add Line 27>
[JsonIgnore] < Add Line 28>
public string PrefixPermission => "craftingcontroller." + SetPermission; < Add Line 29>
public CraftingData()
{
canCraft = true;
canResearch = true;
useCrafteRateMultiplier = true;
craftTime = 0;
workbenchLevel = -1;
defaultskinid = 0;
SetPermission = ""; <Add line 39>
}
}
<Scroll down further to private void OnServerInitialized() And add this for each loop right underline 123>
foreach (var perm in config.CraftingOptions.Values)
{
if (perm.SetPermission.IsNullOrEmpty()) continue;
if (permission.PermissionExists(perm.PrefixPermission, this)) continue;
permission.RegisterPermission(perm.PrefixPermission, this);
}
<Inside the Lang.RegisterMessages section on line 168 Add right below ["NoPerms"]>
["NoPerms2"] = "You don't have {0} permission to craft this item.",
<All the way down to a region called Hooks right under it on line 449 add>
public CraftingData FindPerm(string item)
{
CraftingData crafting;
return config.CraftingOptions.TryGetValue(item, out crafting) ? crafting : null;
}
<Finally a little more down, private object OnItemCraft() on line 459 right below int freeslots = FreeSlots(player); Add this>
CraftingData crafting = FindPerm(task.blueprint.targetItem.shortname);
if (crafting == null) return null;
if (!crafting.SetPermission.IsNullOrEmpty() && !permission.UserHasPermission(player.UserIDString, crafting.PrefixPermission))
{
task.cancelled = true;
foreach (var item in task.takenItems.Where(x => x.amount > 0)) task.owner.GiveItem(item);
Message(crafter.IPlayer, "NoPerms2", crafting.SetPermission);
return false;
}
And that's all it takes to add this feature request.