private static void ProcessWeaponBlock(MyDefinitionBase myDefinition) { try { if (WeaponIgnoreList.Contains(myDefinition.Id.SubtypeId) || !myDefinition.Public) { return; } //MyCubeBlockDefinition myCubeBlock = MyDefinitionManager.Static.GetCubeBlockDefinition(myDefinition.Id); MyWeaponBlockDefinition myWeaponBlock = (MyWeaponBlockDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(myDefinition.Id); List <BlockSideEnum> mountPoints = myWeaponBlock.MountPoints.Select(myMountPoint => myMountPoint.GetObjectBuilder(myMountPoint.Normal).Side).ToList(); WeaponInformation myWeaponInformation = new WeaponInformation( mountPoints, myWeaponBlock.CubeSize, myWeaponBlock.Size.X, myWeaponBlock.Size.Y, myWeaponBlock.Size.Z, myDefinition.Id.SubtypeId, myDefinition.Id.SubtypeName, myDefinition.Id.TypeId, myDefinition.Context?.ModName ?? "Vanilla", myDefinition.Id.ToString(), myWeaponBlock ); if (myWeaponBlock.CubeSize == MyCubeSize.Large) { LargeGridWeaponBlocks.Add(myWeaponInformation); } else { SmallGridWeaponBlocks.Add(myWeaponInformation); } //Core.GeneralLog.WriteToLog("ProcessWeaponBlock", myWeaponInformation.ToString()); } catch (Exception e) { Core.GeneralLog.WriteToLog("ProcessWeaponBlock", $"Exception! {e}"); } }