Mojira Archive
MC-249463

Shulkers in boats with chests are lowered

In normal boats and minecarts, shulkers use a custom height offset so that they do not intersect their vehicle. This override is defined within Yarn mappings' ShulkerEntity#getHeightOffset:

@Override
public double getHeightOffset() {
	EntityType<?> entityType = this.getVehicle().getType();
	if (entityType == EntityType.BOAT || entityType == EntityType.MINECART) {
		return 0.1875 - this.getVehicle().getMountedHeightOffset();
	}
	return super.getHeightOffset();
}

In case it isn't obvious, boats aren't boats with chests. That's actually not that obvious, but boats are the entity type minecraft:boat, while boats with chests are the entity type minecraft:chest_boat. As such, for boats with chests, entityType == EntityType.BOAT is false (and of course, in case it isn't obvious, boats aren't minecarts).

This problem is easily fixed by expanding the vehicle check. For example:

  • Checking for the entity type minecraft:chest_boat as well
  • An entity type tag!
  • Checking entityType instanceof BoatEntity, which both boats and boats with chests satisfy

The last proposed solution is ideal since modded boats otherwise need to solve this same issue.

Fixed

haykam

[Mojang] Arman V

2022-03-25, 12:38 AM

2023-05-14, 11:40 AM

2022-10-05, 08:41 AM

9

4

Confirmed

Normal

Mob behaviour

boat-with-chest, shulker

22w12a - 1.19.1 Release Candidate 122w12a, 22w14a, 22w15a, 22w18a, 1.19 Pre-release 3, 1.19 Release Candidate 2, 1.19, 1.19.1 Release Candidate 1

22w42a