public static TData LoadOrCreateDataFile <TData>(this ICoreAPI api, string file) where TData : class, new() { var data = api.LoadDataFile <TData>(file); if (data == null) { Core.ModLogger.Notification("Will initialize new data file"); data = new TData(); SaveDataFile(api, file, data); } return(data); }