Display Settings

Display settings are lists of transformations which will change how items are rendered in game. Display settings will only affect items and not blocks.

Display settings will be entered in a single compound named “display”, most commonly seen at the bottom of model files.

“display”: { display values go here }

Minecraft 1.8

In minecraft 1.8 there is 6 settings which can be changed these are:
“firstperson”, “thirdperson”, “head”, “ground”, “fixed” and “gui”

Minecraft 1.9+

In minecraft 1.9 or higher there is 8 settings, “firstperson” and “thirdperson” have changed to “firstperson_righthand” and “thirdperson_righthand” respectively, also “firstperson_lefthand” and “thirdperson_lefthand” have been added.

One difference between 1.8 and 1.9+ is that some of the coordinate values will affect items differently, so simply renaming the display values may not give the same effects between different versions

Each setting has three list values which are located inside the settings compound and can be changed these are:
“scale”, “translation”, “rotation”
Each of these variables will map to a list which consists of 3 values x, y, z in that order.

“display”: {
“head”: {
“scale”: [x, y, z],
“translation”: [x, y, z],
“rotation”: [x, y, z]

all three x, y, z values must be specified inside the list

“scale” will increase the size of the model in that axis, ranges from -4 to 4.
negative values will flip the model on that axis and scale normally

“translation” will move the model on that axis.
1.8 ranges from -24 to 24
1.9+ ranges from -80 to 80

“rotation” will rotate the model on the axis, ranges from -180 to 180.

The default values are “scale”: [1, 1, 1], “translation”: [0, 0, 0], “rotation”: [0, 0, 0].
If any of “scale”, “translation” or “rotation” is not included within the display setting then it will automatically resort to the default values.

Display settings can be inherited from parent models, which can be overwritten, if you do overwrite any of the display settings all three “rotation”, “scale” and “translation” will be overwritten and must be included in the child model when overwriting otherwise the default values will be used.