mojira.dev
MC-165247

End crystals can't be placed on burning bedrock or obsidian

The bug

You can't place end crystals on fire that's on top of bedrock or obsidian blocks.

Expected behavior

Since end crystal entities with a bedrock or obsidian support block display fire in its position, the possibility to place end crystals on burning bedrock or obsidian should be there.

Code analysis

Code analysis by @unknown can be found in this comment.

Linked issues

Comments 6

Can confirm in 21w06a.

Can confirm in 1.18.2 and 22w11a. Here's a code analysis of this issue.

Code Analysis:

The following is based on a decompiled version of Minecraft 1.18.2 using MCP-Reborn.

net.minecraft.world.item.EndCrystalItem.java

public class EndCrystalItem extends Item {
   ...
   public InteractionResult useOn(UseOnContext $uoc) {
      Level level = $uoc.getLevel();
      BlockPos blockpos = $uoc.getClickedPos();
      BlockState blockstate = level.getBlockState(blockpos);
      if (!blockstate.is(Blocks.OBSIDIAN) && !blockstate.is(Blocks.BEDROCK)) {
         return InteractionResult.FAIL;
      } else {
         BlockPos blockpos1 = blockpos.above();
         if (!level.isEmptyBlock(blockpos1)) {
            return InteractionResult.FAIL;
         } else {
            ...

If we look at the above class, we can see that the code specifically checks to see whether or not the block above the desired placing location is empty (is air), before being able to place down an end crystal. This is evident through the following line of code:

if (!level.isEmptyBlock(blockpos1))

Since fire isn't air, the placement attempt fails, resulting in end crystals not being able to be placed on burning bedrock or obsidian.

Can confirm in 1.19.

Can confirm in 1.19.2 and 22w44a.

Swekob

(Unassigned)

Confirmed

Block states, Items

block-placement, block-placing, end_crystal, placement-and-support

1.14.4, 19w45b, 1.15 Pre-release 1, 1.15 Pre-release 4, 1.16.2, ..., 22w11a, 1.19, 1.19.2, 22w44a, 1.20.1

Retrieved