public static SoundEffect parse(String key) { String[] split = key.split("@"); String name = split[0], data = ""; if (split.length > 1) data = split[1]; try { Effect effect = enumValue(Effect.class, name); if (effect == null) return null; EffectData state = EffectData.parse(effect, data); return new SoundEffect(effect, state); } catch (IllegalArgumentException e) { return null; } }