Minecraft Wiki
Advertisement
Gear (item)
This article is a work in progress. 
Please help in the expansion or creation of this article by expanding or improving it. The talk page may contain suggestions.
Information icon
This feature is exclusive to Java Edition. 

Display entities are entities useful for map or data pack creators to display various things. There are Block Display, Item Display and Text Display, which are used to display blocks, items and texts respectively. They can only be created with the /summon or /execute summon command.

Behavior[]

Much like markers, display entities do not move, do not take damage, do not make sounds, and have no collision. They do not obstruct the placement of blocks, nor do they push players or other entities away from their own position. Unlike markers, display entities are sent to the client for rendering and do count towards in the E value (total amount of entities) listed on the debug screen.

Display entities have no hitbox. Using the debug key combination F3 + B, which normally draws the hitboxes of all visible entities, does not show a hitbox for display entities. Using F3 + I while aiming at a display entity does not copy the entity data to the clipboard.

Usage[]

Display entities can be summoned only by commands. Block Displays, Item Displays, and Text Displays have the default display content of {Name:"minecraft:air"}, {id:"minecraft:air",Count:0b}, and '{"text":""}' respectively and so, if spawned without any NBT data specified, they are not visible. By modifying the entities' data one can easily edit their display content and other visual effects, and rotate, scale, or translate the model.

Using the Item Display entity with custom_model_data can easily display any custom model.

For the Item Display entity, in addition to directly modifying the NBT, displayed item can also interact with the /loot and /item in the container.0 slot.

Interpolation[]

Some visual effects of these entities can be interpolated over game time to display gradient animation.

All fields marked as "Interpolated" in #Entity data below can be interpolated. These properties do not interpolate independently of each other.

Any change to any of these properties causes client to record both the previous and changed values of these properties. Since server synchronizes entities with the client at most once per game tick, multiple changes within one game tick still count as a single change.

The entity rendering will be interpolated over time between the previous values and the current values. The game time to start interpolation (entity fully in previous state) is start_interpolation (gametime, in game ticks). Trying to set a value less than 0 will set it to the current game time. The game time when interpolation ends (entity fully in current state) is start_interpolation + interpolation_duration (gametime, in game ticks).

Data values[]

ID[]

EntityIdentifierTranslation key
Block Displayblock_displayentity.minecraft.block_display
Item Displayitem_displayentity.minecraft.item_display
Text Displaytext_displayentity.minecraft.text_display

Entity data[]

See also: Entity format

Display entities have entity data associated with them that contain various properties of the entity.

Item Display:

  • root tag
    • Tags common to all entities
    • Tags common to all display entities
    •  item: The item to display.
      • Tags common to all items
    •  item_display: The model to display. Describes item model transform applied to item (as defined in display field in model JSON. Can be none, thirdperson_lefthand, thirdperson_righthand, firstperson_lefthand, firstperson_righthand, head, gui, ground, and fixed. Defaults to fixed.

Block Display:

  • root tag
    • Tags common to all entities
    • Tags common to all display entities
    •  block_state: The block state to display.
      • Block state

Text Display:

  • root tag
    • Tags common to all entities
    • Tags common to all display entities
    •  alignment: Text alignment direction. Can be center, left, and right. Defaults to center.
    •  background: The background color, arranged by ARGB. Since pixel with an alpha channel less than 0.1 are discarded when rendering in vanilla shader, the background becomes fully transparent when A is less than 26 (0x1A). Defaults to 1073741824 (0x40000000). Interpolated.
    •  default_background: If true, rendering uses default text background color (same as in chat), which overrides  background. Defaults to false.
    •  line_width: Maximum line width used to split lines (note: new line can be also added with \n characters). Defaults to 200.
    •  see_through: Whether the text be visible through blocks. Defaults to false.
    •  shadow: Whether the text is displayed with shadow. Defaults to false.
    •  text: The text to be displayed in the format of raw JSON text, which are resolved with the context of the display entity.
    •  text_opacity: Alpha value of rendered text. Alpha value is from 0 to 255. Since there are no unsigned bytes in NBT, values greater than 127 need to be replaced with alpha-256. So, the value is from -128 to 127. Similar to the background, the text rendering is discarded when it is less than 26. Defaults to -1, which represents 255 and is completely opaque. Interpolated.

History[]

Java Edition
1.19.423w06aAdded Block Display, Item Display and Text Display.
Pre-release 4When a new interpolation is started, it now starts from the current state instead of the final state.
Release Candidate 1Interpolation always starts at the beginning on client tick.
Field interpolation_start is replaced with start_interpolation, with a different meaning.
start_interpolation describes amount of ticks from the start of next client tick after receiving an update to start of interpolation. For example, value 0 means that interpolation will start at the beginning of next client tick after receiving the update.
start_interpolation is not stored in entity data. When using /data commands, if interpolated value is updated, but start_interpolation is not present in modified tag, interpolation will continue from the time of previous update, but with new values.
1.2023w12aPrevious values are now always discarded if interpolation_duration is 0.
Made sure that render properties are applied at the same time (so block_state is applied at the same time as transformation, i.e. at next tick after receiving update).
Entities are not rendered unless initial data is received. That means display entities might not show on the first tick.
23w16aitem_display items have been rotated 180 degrees around Y axis to better match transformation applied when rendering items on armor stand head and in item frames.
1.20.223w31aDisplay entities now start updating their client-side position and rotation on the first tick after an update.
On the server, position and rotation are still updated immediately.
Duration of this interpolation is controlled by the field teleport_duration.
Note: behavior while riding remains unchanged from previous versions.
Advertisement