-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix a few issues with ItemMeta #10740
Conversation
having a skim, so far outside of what MM has pointed to, this generally looks fine; I'd need to double check that API def of that method, however |
Yeah, we don't have to change the API, but then we have to change where that method is used in the implementation so that in hashCode and equals and serialization they aren't treated the same. |
Concern is more "what's empty" for me |
8ba2d00
to
6182df2
Compare
I think this is fixed in #10731 but I would appreciate you testing this as well. That PR should fix a lot of issues that are on itemtypes that can hold BlockEntities. |
Moved to ready for review, further changes can be their own PR. |
c127ee9
to
c993413
Compare
ddc4be2
to
0ae8681
Compare
0ae8681
to
5f4b247
Compare
5f4b247
to
3e46ca8
Compare
d4cd57b
to
fe2a9e6
Compare
NPEs:
Codec/item validation:
This often kick the player holding the bad item instantly without saving the last data.
ItemMeta bad equality:
This breaks the contract of equals that say x.equals(y) == y.equals(x)
Misc:
Known issues (unfixed):
- No way to set some components: base_color (shield), intangible_projectile (for crossbow, in charged_projectiles component), tool, debug_stick_state etc...- The LeatherArmorMeta fallback to the default leather color even for wolf armor which doesn't make sense
- Shield with base_color component gets an empty banner_patterns components once moved into the inventory
Opened this as a draft since there are more stuff to check