PaperMC/Paper

Investigate CraftMetaArmorStand equality further

lynxplay opened this issue · 3 comments

Equality compares the entire entity tag in addition to the fields added by paper.

An item stack with invisibility defined in the tag vs an item stack that had it defined via the item meta (and hence only on the field not the tag) would hence not be equal.
Can't skip the tag comparison, as other values might be on it that need comparing.

Needs further investigation.

I guess one way would be to write directly to the tag on the getter/setter and then only compare/apply the wrapped tag.
But does this affect other similar implementation as well like CraftMetaTropicalFishBucket, CraftMetaAxolotlBucket etc?

I thought about maybe those specific fields should be removed from the CompoundTag in the constructor and then added back