diff --git a/osu.Game/Rulesets/Mods/Mod.cs b/osu.Game/Rulesets/Mods/Mod.cs
index a991f7e7b0..81ebca2fe3 100644
--- a/osu.Game/Rulesets/Mods/Mod.cs
+++ b/osu.Game/Rulesets/Mods/Mod.cs
@@ -3,17 +3,20 @@
using osu.Game.Graphics;
using System;
+using Newtonsoft.Json;
+using osu.Game.IO.Serialization;
namespace osu.Game.Rulesets.Mods
{
///
/// The base class for gameplay modifiers.
///
- public abstract class Mod
+ public abstract class Mod : IJsonSerializable
{
///
/// The name of this mod.
///
+ [JsonIgnore]
public abstract string Name { get; }
///
@@ -24,36 +27,43 @@ namespace osu.Game.Rulesets.Mods
///
/// The icon of this mod.
///
+ [JsonIgnore]
public virtual FontAwesome Icon => FontAwesome.fa_question;
///
/// The type of this mod.
///
+ [JsonIgnore]
public virtual ModType Type => ModType.Fun;
///
/// The user readable description of this mod.
///
+ [JsonIgnore]
public virtual string Description => string.Empty;
///
/// The score multiplier of this mod.
///
+ [JsonIgnore]
public abstract double ScoreMultiplier { get; }
///
/// Returns true if this mod is implemented (and playable).
///
+ [JsonIgnore]
public virtual bool HasImplementation => this is IApplicableMod;
///
/// Returns if this mod is ranked.
///
+ [JsonIgnore]
public virtual bool Ranked => false;
///
/// The mods this mod cannot be enabled with.
///
+ [JsonIgnore]
public virtual Type[] IncompatibleMods => new Type[] { };
}
}