Usually, a Player controls a NoteField, which includes positioning, zooming, rotation and vanish point manipulation. The game itself would also handle approach rates for modifiers used on a Player.
With Def.NoteField, this is now done manually, since there is no "Player" to handle everything.
Applying modifiers is instant, unlike the approach rate behavior usually seen.
This can be done through multiple ways:
Def.NoteField{
OnCommand= function()
self:ModsFromString('drunk')
end,
}
"ModsLevel_Current"
has to be used, since the game will no longer handle approaching from "ModsLevel_Song"
.Def.NoteField{
OnCommand= function()
self:GetPlayerOptions('ModsLevel_Current'):Drunk(1)
end,
}
A NoteField starts with the chart the specified player used. However, SetNoteDataFromLua is usable on a Def.NoteField, allowing one to change the chart used. Unlike player, there is no SetNoteData function (for now), so the table format from GetNoteData has to be followed.
Refer to the section How a Player Manipulates its' NoteField.