private void OnItemCraft(ItemCrafterStartEvent craftEvent) { #region Checks if (craftEvent == null) { return; } if (craftEvent.Cancelled) { return; } if (craftEvent.Entity == null) { return; } #endregion var amount = craftEvent.Crafter.QuantityEstimated; var name = craftEvent.Crafter.Product.Name; if (name.EqualsIgnoreCase("Charcoal") && amount > 1000000) { return; } var time = craftEvent.Crafter.Duration; var security = craftEvent.Entity.TryGet <ISecurable>(); if (security == null) { if (!craftEvent.Entity.IsPlayer) { return; } var player = craftEvent.Entity.Owner; PlayerCraftingData data; if (!Data.PlayerCraftingData.TryGetValue(player.Id, out data)) { data = new PlayerCraftingData(); Data.Add(craftEvent.Entity.OwnerId, data); } data.SetCrafting(player.Id, amount, name, time); } else { var objectGUID = security.ObjectGUID; StationCraftingData data; if (!Data.StationCraftingData.TryGetValue(objectGUID, out data)) { data = new StationCraftingData(craftEvent.Entity.name); Data.Add(objectGUID, data); } data.SetCrafting(amount, name, time); } SaveData(); }
public void Remove(ulong playerId) { PlayerCraftingData.Remove(playerId); }
public void Add(ulong playerId, PlayerCraftingData data) { PlayerCraftingData.Add(playerId, data); }
public void Reset() { PlayerCraftingData.Clear(); StationCraftingData.Clear(); }