Minecraft:Cushion: Difference between revisions
More actions
Sync: new page from Minecraft |
Sync: updated from Minecraft |
||
| Line 52: | Line 52: | ||
| renewable = Yes | | renewable = Yes | ||
| stackable = Yes (16) | | stackable = Yes (16) | ||
| size = | |||
Height: 0.25 blocks<br> | |||
Width: 1.0 blocks<br> | |||
}} | }} | ||
A '''cushion''' is a placeable [[Minecraft:entity]] that can be [[Minecraft:sitting|sat]] on. Cushions can be placed on | A '''cushion''' is a placeable [[Minecraft:entity]] that can be [[Minecraft:sitting|sat]] on. Cushions can be placed on top of virtually everything in the game excluding [[Minecraft:Fluid|fluids]] and a few invisible blocks, and are destroyed when their supporting [[Minecraft:block]] is removed after {{convert|100|game tick|second}}. | ||
== Obtaining == | == Obtaining == | ||
=== Breaking === | === Breaking === | ||
Cushions | Cushions are [[Minecraft:entities]], meaning they cannot be [[Minecraft:mined]] as with a typical block. Instead, cushions immediately break when attacked, including with [[Minecraft:projectile]]s, by non-[[Minecraft:player]] entities, or even by players in [[Minecraft:Adventure]] mode, even if the damage received is 0. Cushions always drop themselves when broken. | ||
Like [[Minecraft:painting]]s and [[Minecraft:item frame]]s, cushions also break if a test to check if they have a support block fails. This test is performed every {{convert|100|game tick|second}}. | |||
=== Crafting === | === Crafting === | ||
| Line 82: | Line 85: | ||
=== Natural generation === | === Natural generation === | ||
Cushions are found in [[Minecraft:Abandoned Camps|abandoned camps]]. | Cushions are only found naturally in [[Minecraft:Abandoned Camps|abandoned camps]]. They spawn within 1~2 blocks of a [[Minecraft:campfire]], assuming the camp generates with one. | ||
== Usage == | == Usage == | ||
[[File:Cushion and Snow Layer 2 Diffrence.png|thumb|The cushion is slightly shorter than snow layer 2]] | <!--[[File:Cushion and Snow Layer 2 Diffrence.png|thumb|The cushion is slightly shorter than snow layer 2]] | ||
Cushions can be placed on any flat surface, and will align horizontally to the grid unless teleported, but vertically sit on top of the supporting surface. They will break if their supporting surface is removed or if they are pushed by a piston. Since they are | The Java game code isn't smaller. The difference might be due to the re-rendering or exclusive to the BE. --> | ||
Cushions can be placed on any flat surface, and will align horizontally to the grid unless teleported, but vertically sit on top of the supporting surface. They will break if their supporting surface is removed or if they are pushed by a piston. Since they are entities with a finite amount of health, they will also break after a few seconds if placed in [[Minecraft:lava]]. See {{Slink||Placement}} for more details. | |||
They can be sat on by {{control|use|text=pressing the "use" control}} on them. | They can be sat on by {{control|use|text=pressing the "use" control}} on them. | ||
| Line 92: | Line 96: | ||
Cushions cannot move, do not have collision, and can overlap with other objects, except for other cushions or [[Minecraft:chain]]s{{only|be|short=1}}. This means they will rest properly on top of surfaces that are less than one block in height, including [[Minecraft:snow layer]]s, [[Minecraft:wildflowers]], [[Minecraft:enchantment table]]s, [[Minecraft:slab]]s and [[Minecraft:stair]]s. Cushions placed on the lower step of stairs will be partly obscured by the upper step of the stairs. | Cushions cannot move, do not have collision, and can overlap with other objects, except for other cushions or [[Minecraft:chain]]s{{only|be|short=1}}. This means they will rest properly on top of surfaces that are less than one block in height, including [[Minecraft:snow layer]]s, [[Minecraft:wildflowers]], [[Minecraft:enchantment table]]s, [[Minecraft:slab]]s and [[Minecraft:stair]]s. Cushions placed on the lower step of stairs will be partly obscured by the upper step of the stairs. | ||
If a player sits on a cushion in a lit Nether | If a player sits on a cushion in a lit [[Minecraft:The Nether|Nether]] or [[Minecraft:The End|End]] portal, they can sit indefinitely without being teleported; however, if a player gets off the cushion, they will be able to go through the portal. Similarly, if a player were to sit on a cushion when a [[Minecraft:geyser]] is going off, they also cannot not be moved until they get off the cushion. | ||
=== Placement === | === Placement === | ||
{{IN|Java}}, the positioning of the cushion occurs in the following steps, after interacting with the item in a block: | {{IN|Java}}, the positioning of the cushion occurs in the following steps, after interacting with the item in a block: | ||
| Line 106: | Line 109: | ||
::* The Y-axis of the possible lower base of the cushion is the position where the click occurred when interacting with the block. For this, the interaction box is used, ignoring the auxiliary interaction box. | ::* The Y-axis of the possible lower base of the cushion is the position where the click occurred when interacting with the block. For this, the interaction box is used, ignoring the auxiliary interaction box. | ||
:'''3.''' Test if there is any part of a block directly below the cushion. | :'''3.''' Test if there is any part of a block directly below the cushion. | ||
::* Just below the possible position of the | ::* Just below the possible position of the cushion, create an imaginary platform with the same x and z lengths, but with a width of 1/4 of a pixel (1/64 of a block). | ||
::* The search is for all blocks whose position (in integer codes) intersects this platform. Due to the cushion's centered position, only one or two blocks are intersected, but by summoning the cushion with commands, up to 8 can be tested. | ::* The search is for all blocks whose position (in integer codes) intersects this platform. Due to the cushion's centered position, only one or two blocks are intersected, but by summoning the cushion with commands, up to 8 can be tested. | ||
:::* For each block found, it tests whether its interaction box intersects the base of the cushion. If at least one block intersects, that position is validated. Otherwise, the positioning fails. | :::* For each block found, it tests whether its interaction box intersects the base of the cushion. If at least one block intersects, that position is validated. Otherwise, the positioning fails. | ||
| Line 172: | Line 175: | ||
|pitch=1.0}} | |pitch=1.0}} | ||
}} | }} | ||
== Data values == | |||
=== ID === | |||
{{JE}}: | |||
{{ID table | |||
|edition=java | |||
|showitemtags=y | |||
|showforms=y | |||
|generatetranslationkeys=y | |||
|displayname=White Cushion | |||
|spritetype=item | |||
|nameid=white_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Orange Cushion | |||
|spritetype=item | |||
|nameid=orange_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Magenta Cushion | |||
|spritetype=item | |||
|nameid=magenta_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Light Blue Cushion | |||
|spritetype=item | |||
|nameid=light_blue_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Yellow Cushion | |||
|spritetype=item | |||
|nameid=yellow_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Lime Cushion | |||
|spritetype=item | |||
|nameid=lime_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Pink Cushion | |||
|spritetype=item | |||
|nameid=pink_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Gray Cushion | |||
|spritetype=item | |||
|nameid=gray_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Light Gray Cushion | |||
|spritetype=item | |||
|nameid=light_gray_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Cyan Cushion | |||
|spritetype=item | |||
|nameid=cyan_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Purple Cushion | |||
|spritetype=item | |||
|nameid=purple_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Blue Cushion | |||
|spritetype=item | |||
|nameid=blue_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Brown Cushion | |||
|spritetype=item | |||
|nameid=brown_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Green Cushion | |||
|spritetype=item | |||
|nameid=green_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Red Cushion | |||
|spritetype=item | |||
|nameid=red_cushion | |||
|form=item | |||
|itemtags=cushions}} | |||
{{ID table | |||
|displayname=Black Cushion | |||
|spritetype=item | |||
|nameid=black_cushion | |||
|form=item | |||
|itemtags=cushions | |||
|foot=1}} | |||
{{ID table | |||
|edition=java | |||
|firstcolumnname=Entity | |||
|generatetranslationkeys=y | |||
|displayname=Cushion | |||
|spritename=cushion | |||
|spritetype=entity | |||
|nameid=cushion | |||
|foot=1}} | |||
{{BE}}: | |||
{{More info}} | |||
=== Entity data === | |||
{{JE}}: | |||
{{main|Entity format}} | |||
<section begin="entity data"/><div class="treeview" style="margin-top: 0;"> | |||
* {{nbt|compound}} Entity data | |||
** {{nbt inherit/entity}} | |||
** {{nbt|int-array|block_pos}}: The block space the cushion occupies. Stored as 3 ints. | |||
** {{nbt|string|color}}: The cushion's color. | |||
</div><section end="entity data"/> | |||
{{BE}}: | |||
{{More info}} | |||
== History == | == History == | ||
| Line 177: | Line 311: | ||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine|upcoming java}} | |{{HistoryLine|upcoming java}} | ||
|{{HistoryLine||26.3|dev=snap3|[[File:White Cushion JE1.png|32px]][[File:Light Gray Cushion JE1.png|32px]][[File:Gray Cushion JE1.png|32px]][[File:Black Cushion JE1.png|32px]][[File:Brown Cushion JE1.png|32px]][[File:Red Cushion JE1.png|32px]][[File:Orange Cushion JE1.png|32px]][[File:Yellow Cushion JE1.png|32px]][[File:Lime Cushion JE1.png|32px]][[File:Green Cushion JE1.png|32px]][[File:Cyan Cushion JE1.png|32px]][[File:Light Blue Cushion JE1.png|32px]][[File:Blue Cushion JE1.png|32px]][[File:Purple Cushion JE1.png|32px]][[File:Magenta Cushion JE1.png|32px]][[File:Pink Cushion JE1.png|32px]] Added cushions.}} | |{{HistoryLine||26.3|dev=snap3|[[File:White Cushion JE1.png|32px]] [[File:Light Gray Cushion JE1.png|32px]] [[File:Gray Cushion JE1.png|32px]] [[File:Black Cushion JE1.png|32px]] [[File:Brown Cushion JE1.png|32px]] [[File:Red Cushion JE1.png|32px]] [[File:Orange Cushion JE1.png|32px]] [[File:Yellow Cushion JE1.png|32px]] [[File:Lime Cushion JE1.png|32px]] [[File:Green Cushion JE1.png|32px]] [[File:Cyan Cushion JE1.png|32px]] [[File:Light Blue Cushion JE1.png|32px]] [[File:Blue Cushion JE1.png|32px]] [[File:Purple Cushion JE1.png|32px]] [[File:Magenta Cushion JE1.png|32px]] [[File:Pink Cushion JE1.png|32px]]<br>[[File:White Cushion (item) JE1 BE1.png|32px]] [[File:Light Gray Cushion (item) JE1 BE1.png|32px]] [[File:Gray Cushion (item) JE1 BE1.png|32px]] [[File:Black Cushion (item) JE1 BE1.png|32px]] [[File:Brown Cushion (item) JE1 BE1.png|32px]] [[File:Red Cushion (item) JE1 BE1.png|32px]] [[File:Orange Cushion (item) JE1 BE1.png|32px]] [[File:Yellow Cushion (item) JE1 BE1.png|32px]] [[File:Lime Cushion (item) JE1 BE1.png|32px]] [[File:Green Cushion (item) JE1 BE1.png|32px]] [[File:Cyan Cushion (item) JE1 BE1.png|32px]] [[File:Light Blue Cushion (item) JE1 BE1.png|32px]] [[File:Blue Cushion (item) JE1 BE1.png|32px]] [[File:Purple Cushion (item) JE1 BE1.png|32px]] [[File:Magenta Cushion (item) JE1 BE1.png|32px]] [[File:Pink Cushion (item) JE1 BE1.png|32px]] Added cushions.}} | ||
}} | }} | ||
| Line 183: | Line 317: | ||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine|upcoming bedrock}} | |{{HistoryLine|upcoming bedrock}} | ||
|{{HistoryLine||26.40|dev=Preview 26.40.30|exp=Drop 3 of 2026|[[File:White Cushion JE1.png|32px]][[File:Light Gray Cushion JE1.png|32px]][[File:Gray Cushion JE1.png|32px]][[File:Black Cushion JE1.png|32px]][[File:Brown Cushion JE1.png|32px]][[File:Red Cushion JE1.png|32px]][[File:Orange Cushion JE1.png|32px]][[File:Yellow Cushion JE1.png|32px]][[File:Lime Cushion JE1.png|32px]][[File:Green Cushion JE1.png|32px]][[File:Cyan Cushion JE1.png|32px]][[File:Light Blue Cushion JE1.png|32px]][[File:Blue Cushion JE1.png|32px]][[File:Purple Cushion JE1.png|32px]][[File:Magenta Cushion JE1.png|32px]][[File:Pink Cushion JE1.png|32px]] Added cushions.}} | |{{HistoryLine||26.40|dev=Preview 26.40.30|exp=Drop 3 of 2026|[[File:White Cushion JE1.png|32px]] [[File:Light Gray Cushion JE1.png|32px]] [[File:Gray Cushion JE1.png|32px]] [[File:Black Cushion JE1.png|32px]] [[File:Brown Cushion JE1.png|32px]] [[File:Red Cushion JE1.png|32px]] [[File:Orange Cushion JE1.png|32px]] [[File:Yellow Cushion JE1.png|32px]] [[File:Lime Cushion JE1.png|32px]] [[File:Green Cushion JE1.png|32px]] [[File:Cyan Cushion JE1.png|32px]] [[File:Light Blue Cushion JE1.png|32px]] [[File:Blue Cushion JE1.png|32px]] [[File:Purple Cushion JE1.png|32px]] [[File:Magenta Cushion JE1.png|32px]] [[File:Pink Cushion JE1.png|32px]]<br>[[File:White Cushion (item) JE1 BE1.png|32px]] [[File:Light Gray Cushion (item) JE1 BE1.png|32px]] [[File:Gray Cushion (item) JE1 BE1.png|32px]] [[File:Black Cushion (item) JE1 BE1.png|32px]] [[File:Brown Cushion (item) JE1 BE1.png|32px]] [[File:Red Cushion (item) JE1 BE1.png|32px]] [[File:Orange Cushion (item) JE1 BE1.png|32px]] [[File:Yellow Cushion (item) JE1 BE1.png|32px]] [[File:Lime Cushion (item) JE1 BE1.png|32px]] [[File:Green Cushion (item) JE1 BE1.png|32px]] [[File:Cyan Cushion (item) JE1 BE1.png|32px]] [[File:Light Blue Cushion (item) JE1 BE1.png|32px]] [[File:Blue Cushion (item) JE1 BE1.png|32px]] [[File:Purple Cushion (item) JE1 BE1.png|32px]] [[File:Magenta Cushion (item) JE1 BE1.png|32px]] [[File:Pink Cushion (item) JE1 BE1.png|32px]] Added cushions.}} | ||
}} | }} | ||
== Issues == | |||
{{Issue list}} | |||
== Gallery == | |||
<gallery> | |||
File:Cushion Sitting.png|A player sitting on a cushion. | |||
File:Player cushion sculk sensor.png|Ditto, but with the cushion placed on top of a sculk sensor. | |||
</gallery> | |||
== Navigation == | == Navigation == | ||
Revision as of 11:04, 9 July 2026
Template:WIP Template:In development Template:Infobox item entity A cushion is a placeable Minecraft:entity that can be sat on. Cushions can be placed on top of virtually everything in the game excluding fluids and a few invisible blocks, and are destroyed when their supporting Minecraft:block is removed after Template:Convert.
Obtaining
Breaking
Cushions are Minecraft:entities, meaning they cannot be Minecraft:mined as with a typical block. Instead, cushions immediately break when attacked, including with Minecraft:projectiles, by non-Minecraft:player entities, or even by players in Minecraft:Adventure mode, even if the damage received is 0. Cushions always drop themselves when broken.
Like Minecraft:paintings and Minecraft:item frames, cushions also break if a test to check if they have a support block fails. This test is performed every Template:Convert.
Crafting
Template:Crafting Template:Crafting
Natural generation
Cushions are only found naturally in abandoned camps. They spawn within 1~2 blocks of a Minecraft:campfire, assuming the camp generates with one.
Usage
Cushions can be placed on any flat surface, and will align horizontally to the grid unless teleported, but vertically sit on top of the supporting surface. They will break if their supporting surface is removed or if they are pushed by a piston. Since they are entities with a finite amount of health, they will also break after a few seconds if placed in Minecraft:lava. See Template:Slink for more details.
They can be sat on by Template:Control on them.
Cushions cannot move, do not have collision, and can overlap with other objects, except for other cushions or Minecraft:chainsTemplate:Only. This means they will rest properly on top of surfaces that are less than one block in height, including Minecraft:snow layers, Minecraft:wildflowers, Minecraft:enchantment tables, Minecraft:slabs and Minecraft:stairs. Cushions placed on the lower step of stairs will be partly obscured by the upper step of the stairs.
If a player sits on a cushion in a lit Nether or End portal, they can sit indefinitely without being teleported; however, if a player gets off the cushion, they will be able to go through the portal. Similarly, if a player were to sit on a cushion when a Minecraft:geyser is going off, they also cannot not be moved until they get off the cushion.
Placement
Template:IN, the positioning of the cushion occurs in the following steps, after interacting with the item in a block:
- 1. Test if the clicked face of the block is the top.
- For this, the block's Minecraft:interaction box is used. For blocks that have an interaction box with several elements (for example, stairs), we consider the top face of each element individually.
- Some blocks have an Minecraft:auxiliary interaction box. We cannot interact directly with this auxiliary box, but it is used to adjust the direction of the interaction.
- Note that it is possible, for example, to place a selected cushion on the inner wall of a Minecraft:composter. On the other hand, it is not possible to place it on top of the Minecraft:hopper spout.
- 2. Select the position where the cushion will be placed.
- The X and Z axes are defined by the interacting block, in such a way that the cushion is centered on the block's position.
- The Y-axis of the possible lower base of the cushion is the position where the click occurred when interacting with the block. For this, the interaction box is used, ignoring the auxiliary interaction box.
- 3. Test if there is any part of a block directly below the cushion.
- Just below the possible position of the cushion, create an imaginary platform with the same x and z lengths, but with a width of 1/4 of a pixel (1/64 of a block).
- The search is for all blocks whose position (in integer codes) intersects this platform. Due to the cushion's centered position, only one or two blocks are intersected, but by summoning the cushion with commands, up to 8 can be tested.
- For each block found, it tests whether its interaction box intersects the base of the cushion. If at least one block intersects, that position is validated. Otherwise, the positioning fails.
- Note that the test is with the interaction box and not the Minecraft:collision box.
- Note that the interacted-with block is not always included in this test. For example, when placing a cushion on top of an open Minecraft:shulker box facing upwards, when searching for blocks that the base can intersect, only consider the block above the shulker box and not the shulker box itself. Even though in this case the shulker box was interacted with and it will serve as a base for the cushion. Something similar will occur with the top of the Minecraft:lectern.
- On the other hand, it is still possible for the cushion to find support that is not the interacted block (for example, a Minecraft:resin clump above the shulker box).
- 4. Test if a cushion already exists.
- Test whether the position in which you are trying to place the cushion, considering the hitbox the cushion will have if placed, intersects with the hitbox of an existing cushion.
If all 4 steps are successfully completed, the cushion is placed.
Sounds
Data values
ID
Template:JE: Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table Template:ID table
Template:BE: Template:More info
Entity data
<section begin="entity data"/>
- Template:Nbt Entity data
- Template:Nbt inherit/entity
- Template:Nbt: The block space the cushion occupies. Stored as 3 ints.
- Template:Nbt: The cushion's color.
<section end="entity data"/>
History
Java Edition
Bedrock Edition
Issues
Gallery
-
A player sitting on a cushion.
-
Ditto, but with the cushion placed on top of a sculk sensor.
Template:Navbox new content Template:Navbox dyed material Template:Navbox items Template:Navbox entities
Minecraft:fr:Coussin Minecraft:pt:Almofada Minecraft:ru:Подушка Minecraft:zh:坐垫