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.
2022-03-25, 12:38 AM
2023-05-14, 11:40 AM
2022-10-05, 08:41 AM
9
4