Skip to content

Notes/Walls

Noodle Extensions and Chroma provide simple data you can add to any note or wall to change its properties.

Example

"colorNotes": [
  {
    "b": 8.0,
    "x": 2,
    "y": 0,
    "c": 1,
    "d": 1,
    "customData": {
      "coordinates": [5.2, -1.3]
    }
  }
]

Info

Internally, bombs are treated nearly identically to notes, and as such, bombs will be considered notes henceforth.

Heck

All Objects

  • "track": string/string[] A single track or list of tracks that an object belongs to. Commonly used for animating groups of objects. Does nothing by itself. See Tracks and Points.

Noodle Extensions

Fake Objects

If you wish to create fake notes (notes that do not show up in the note count and not count towards score in any way), you must place them in a separate array within customData. These arrays are called fakeColorNotes, fakeBombNotes, fakeObstacles and fakeBurstSliders.

Example

"customData":{
  "fakeColorNotes": [
    {
      "b": 15,
      "x": 0,
      "y": 1,
      "c": 0,
      "d": 0
    }
  ]
}

All Objects

  • "coordinates": [x, y] (floats) Should be self explanatory. Will override x and y NOTE: All positions are based off the Beatwalls system.

Note

When sorting your notes, e.g. in a map parsing script, sort by coordinates, not x (line index) and y (line layer).

  • "worldRotation": [x, y, z] (floats) Also known as "world rotation". Think the 360Degree Characteristic but way more options. This field can also be just a single float ("worldRotation": 90) and it will be interpreted as [0, x, 0] ("worldRotation": [0, 90, 0]). [0, 0, 0] will always be the initial position the player is facing at the beginning of the song.
  • "localRotation": [x, y, z] (floats) Allows you to rotate the object. This won't affect the direction it spawns from or the path it takes. The origin for walls is the front bottom center, as illustrated by spooky.
  • "scale": [x, y, z] (floats) Sets the scale of the object. This will affect the hitboxes. Because this directly sets the object's transform's scale, it will not correctly scale an obstacle's frame.
  • "noteJumpMovementSpeed": float Set the NJS of an individual object.
  • "noteJumpStartBeatOffset": float Set the spawn offset of an individual object.
  • "uninteractable": bool When true, the note/wall cannot be interacted with. This means notes cannot be cut and walls will not interact with sabers/putting your head in the wall. Notes will still count towards your score.

Notes

  • "flip": [flip line index, flip jump] (floats) Flip notes from an initial spawn position to its true position. PREVIEW (Map by AaltopahWi). Flip line index is the initial x the note will spawn at and flip jump is how high (or low) the note will jump up (or down) when flipping to its true position. Base game behavior will set one note's flip jump to -1 and the other to 1.
  • "disableNoteGravity": bool When true, notes will no longer do their animation where they float up.
  • "disableNoteLook": bool When true, notes will no longer rotate towards the player.
  • "disableBadCutDirection": bool When true, the note cannot be cut from wrong direction.
  • "disableBadCutSpeed": bool When true, the note cannot be cut with insufficient speed.
  • "disableBadCutSaberType": bool When true, the note cannot be cut with the wrong saber.
  • "link": string When cut, all notes with the same link string will also be cut.

Obstacles

  • "size": [w, h, l] (floats) Width, height and length of the wall. "size": [1, 1, 1] will be perfectly square. While d (duration) will still control the lifetime, the length of the wall will be controlled by size instead.

Sliders

  • "disableNoteGravity": bool See above.
  • "tailCoordinates": [x, y] (floats) coordinates, but for the tail.

Tip

coordinate, scale, flip, size, and tailCoordinates do not require all values to be set, and will use default values if null or missing.

"coordinates": [null, 0] // will use the vanilla "x" instead
"coordinates": [2] // will use the vanilla "y" instead

Chroma

All Objects

  • "color": [r, g, b, a] (floats) Array of RGB values (Alpha is optional and will default to 1 if not specified).

Note

All RGBA values are on a 0-1 scale, not a 0-255 scale.

Notes

  • "spawnEffect": bool Set to false and the note spawn effect will be hidden. True and the note spawn effect will spawn regardless of player setting.
  • "disableDebris": bool When true, cutting the note spawns will not debris.