This may be annoying bug. I fixed it on my own by altering OpenCraftingMenu method - feel free to update with below
private void OpenCraftingMenu(BasePlayer player)
{
//BasePlayer player = arg.Connection.player as BasePlayer;
if (player == null)
return;
//OpenMap(player);
CuiHelper.DestroyUi(player, UIMain);
CuiHelper.DestroyUi(player, UIPanel);
CloseMap(player);
CuiElementContainer container = NWUI.CreateElementContainer(UIMain, UIColors["dark"], "0 0.92", "1 1");
NWUI.CreatePanel(ref container, UIMain, UIColors["light"], "0.01 0.05", "0.99 0.95", true);
NWUI.CreateLabel(ref container, UIMain, "", $"{configData.Options.MSG_MainColor}{Title}</color>", 30, "0.05 0", "0.2 1");
int number = 0;
if (configData.Bullets.Enabled && HasPermission(player, NukeType.Bullet))
{
CreateMenuButton(ref container, UIMain, MSG("Bullets", player.UserIDString), "NWUI_ChangeElement bullet", number);
number++;
}
if (configData.Explosives.Enabled && HasPermission(player, NukeType.Explosive))
{
CreateMenuButton(ref container, UIMain, MSG("Explosives", player.UserIDString), "NWUI_ChangeElement explosive", number);
number++;
}
if (configData.Grenades.Enabled && HasPermission(player, NukeType.Grenade))
{
CreateMenuButton(ref container, UIMain, MSG("Grenades", player.UserIDString), "NWUI_ChangeElement grenade", number);
number++;
}
if (configData.Mines.Enabled && HasPermission(player, NukeType.Mine))
{
CreateMenuButton(ref container, UIMain, MSG("Mines", player.UserIDString), "NWUI_ChangeElement mine", number);
number++;
}
if (configData.Rockets.Enabled && HasPermission(player, NukeType.Rocket))
{
CreateMenuButton(ref container, UIMain, MSG("Rockets", player.UserIDString), "NWUI_ChangeElement rocket", number);
number++;
}
CreateMenuButton(ref container, UIMain, MSG("Close", player.UserIDString), "NWUI_DestroyAll", number);
CuiHelper.AddUi(player, container);
}