diff --git a/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyAttributes.cs b/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyAttributes.cs
index c166017c8f..4f4ea014d0 100644
--- a/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyAttributes.cs
+++ b/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyAttributes.cs
@@ -8,6 +8,7 @@ using osu.Game.Rulesets.Difficulty;
namespace osu.Game.Rulesets.Catch.Difficulty
{
+ [JsonObject(MemberSerialization.OptIn)]
public struct CatchDifficultyAttributes : IDifficultyAttributes
{
///
diff --git a/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyAttributes.cs b/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyAttributes.cs
index 114fd4b082..7929ab53ee 100644
--- a/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyAttributes.cs
+++ b/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyAttributes.cs
@@ -8,6 +8,7 @@ using osu.Game.Rulesets.Difficulty;
namespace osu.Game.Rulesets.Mania.Difficulty
{
+ [JsonObject(MemberSerialization.OptIn)]
public struct ManiaDifficultyAttributes : IDifficultyAttributes
{
///
diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyAttributes.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyAttributes.cs
index 8e946c8278..d97bf4cdf5 100644
--- a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyAttributes.cs
+++ b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyAttributes.cs
@@ -9,6 +9,7 @@ using osu.Game.Rulesets.Difficulty;
namespace osu.Game.Rulesets.Osu.Difficulty
{
+ [JsonObject(MemberSerialization.OptIn)]
public struct OsuDifficultyAttributes : IDifficultyAttributes
{
///
diff --git a/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyAttributes.cs b/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyAttributes.cs
index e134c7535d..279e0dba4d 100644
--- a/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyAttributes.cs
+++ b/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyAttributes.cs
@@ -8,13 +8,13 @@ using osu.Game.Rulesets.Difficulty;
namespace osu.Game.Rulesets.Taiko.Difficulty
{
+ [JsonObject(MemberSerialization.OptIn)]
public struct TaikoDifficultyAttributes : IDifficultyAttributes
{
///
public double StarRating { get; set; }
///
- [JsonProperty("max_combo", Order = -2)]
public int MaxCombo { get; set; }
///
diff --git a/osu.Game/Beatmaps/BeatmapDifficultyCache.cs b/osu.Game/Beatmaps/BeatmapDifficultyCache.cs
index ef08314066..fc4175415c 100644
--- a/osu.Game/Beatmaps/BeatmapDifficultyCache.cs
+++ b/osu.Game/Beatmaps/BeatmapDifficultyCache.cs
@@ -252,7 +252,7 @@ namespace osu.Game.Beatmaps
var performanceCalculator = ruleset.CreatePerformanceCalculator();
if (performanceCalculator == null)
- return new StarDifficulty(difficulty, new EmptyPerformanceAttributes());
+ return new StarDifficulty(difficulty, new PerformanceAttributes());
ScoreProcessor scoreProcessor = ruleset.CreateScoreProcessor();
scoreProcessor.Mods.Value = key.OrderedMods;
diff --git a/osu.Game/Rulesets/Difficulty/IDifficultyAttributes.cs b/osu.Game/Rulesets/Difficulty/IDifficultyAttributes.cs
index f14c28dc17..d907692f27 100644
--- a/osu.Game/Rulesets/Difficulty/IDifficultyAttributes.cs
+++ b/osu.Game/Rulesets/Difficulty/IDifficultyAttributes.cs
@@ -10,7 +10,6 @@ namespace osu.Game.Rulesets.Difficulty
///
/// Describes the difficulty of a beatmap, as output by a .
///
- [JsonObject(MemberSerialization.OptIn)]
public interface IDifficultyAttributes
{
protected const int ATTRIB_ID_AIM = 1;
@@ -60,7 +59,7 @@ namespace osu.Game.Rulesets.Difficulty
///
/// Represents a full, minimal implementation of .
///
- public class EmptyDifficultyAttributes : IDifficultyAttributes
+ public class DifficultyAttributes : IDifficultyAttributes
{
public double StarRating { get; set; }
diff --git a/osu.Game/Rulesets/Difficulty/IPerformanceAttributes.cs b/osu.Game/Rulesets/Difficulty/IPerformanceAttributes.cs
index d98bc42c47..9d861c59d1 100644
--- a/osu.Game/Rulesets/Difficulty/IPerformanceAttributes.cs
+++ b/osu.Game/Rulesets/Difficulty/IPerformanceAttributes.cs
@@ -25,7 +25,7 @@ namespace osu.Game.Rulesets.Difficulty
///
/// Represents a full, minimal implementation of .
///
- public class EmptyPerformanceAttributes : IPerformanceAttributes
+ public class PerformanceAttributes : IPerformanceAttributes
{
public double Total { get; set; }