-
Bug
-
Resolution: Fixed
-
22w12a, 22w14a, 22w15a, 22w18a, 1.19 Pre-release 3, 1.19 Release Candidate 2, 1.19, 1.19.1 Release Candidate 1
-
Confirmed
-
Mob behaviour
-
Normal
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.