3 4.3 Legacy scene file format
mt1006 edited this page 2026-03-09 20:44:07 +01:00

Legacy scene file format

Legacy scene file format was used by Motion Capture before version 1.4. It uses simple text format and cannot work with most of currently existing playback modifiers. Despite this, it may be useful when trying to quickly generate scene with many players with different skins, names, and/or time/position offsets.

File structure

File starts with a line with a single number - version. For version history see scene file format documentation. If you want to generate new legacy scene file, you may use 0 as version number.

After first line, each line defines new scene element (empty lines are not allowed - excluding single EOL at the end of file).

Lines consist of space separated values in given order:

  • element_name - name of element's recording/scene
  • wait_on_start - value of time/wait_on_start modifier
  • position_offset (3 values) - value of transformations/offset modifier - three space separated values (x, y, z)
  • player_name - value of player_name modifier
  • skin_path - value of player_skin/skin_path modifier
  • skin_source - value of player_skin/skin_source modifier - "default", "from_player", "from_file", or "from_mineskin"
  • player_as_entity - value of player_as_entity/id modifier

Additional notes:

  • Only element_name is required. If some values are missing - default value should be used (unless defined here otherwise).
  • Behavior for multiple consecutive spaces is undefined.*
  • Values should match BRE: ^[0-9a-zA-Z/:_-]$; otherwise behavior is undefined.
  • If player_name, skin_path, or player_as_entity are equal to literal "[null]", default value should be used.
  • If position_offset is partially defined (1 or 2 values), behavior is undefined.**
  • If skin_path is defined and not equal to "[null]", but skin_source is not defined, skin_source should be set to "from_mineskin".***
  • Value of transformations/config/round_block_pos is always true for legacy scenes (default is false).****

* - most likely they'll be treated as single space

** - before 1.4 missing values were set to 0; on 1.4 entire modifier value is set to 0

*** - this is for compatibility with 1.2.x scenes, which supported only MineSkin skins and ended with MineSkin URL

**** - this is for compatibility reasons, as 1.3.x and older versions rounded offset block position by default