void Sandbox.ModAPI.Ingame.IMyConveyorSorter.RemoveItem(MyInventoryItemFilter item) { if (!item.AllSubTypes) { this.ChangeListId((SerializableDefinitionId)item.ItemId, false); } else { byte num; if (CandidateTypesToId.TryGetValue(item.ItemId.TypeId, out num)) { this.ChangeListType(num, false); } } }
public static void SpawnCores(MyCubeGrid grid, KothConfig config) { if (grid != null) { Sandbox.ModAPI.IMyGridTerminalSystem gridTerminalSys = MyAPIGateway.TerminalActionsHelper.GetTerminalSystemForGrid(grid); MyDefinitionId rewardItem = getRewardItem(config); Sandbox.ModAPI.IMyTerminalBlock block = gridTerminalSys.GetBlockWithName(config.LootBoxTerminalName); if (block != null && rewardItem != null) { Log.Info("Should spawn item"); MyItemType itemType = new MyInventoryItemFilter(rewardItem.TypeId + "/" + rewardItem.SubtypeName).ItemType; block.GetInventory().AddItems((MyFixedPoint)config.RewardAmount, (MyObjectBuilder_PhysicalObject)MyObjectBuilderSerializer.CreateNewObject(rewardItem)); } else { Log.Info("Cant spawn item"); } return; } }
public void SetSortersFilter(string item_id) { try { List <MyInventoryItemFilter> currentList = new List <MyInventoryItemFilter>(); MyInventoryItemFilter item = new MyInventoryItemFilter("MyObjectBuilder_Ore/" + item_id); _sorters.ForEach(sorter => { sorter.GetFilterList(currentList); if (currentList.Contains(item)) { currentList.Remove(item); } else { currentList.Add(item); } sorter.SetFilter(MyConveyorSorterMode.Whitelist, currentList); }); } catch (Exception) { } }