What’s new in this release
- Fixed localization file detection — Language files now use the correct case-sensitive names (e.g.,
en_US.lang), ensuring they load outside the dev environment. - Minimal use of mixins — Only a simple accessor mixin to read the player’s language from EntityPlayerMP, avoiding reflection.
- Improved message handling — Welcome messages now use BTW/vanilla APIs for safer string substitution.
- Modified pluralization support —
.langfiles include multiple forms of the welcome phrase for flexible, language-specific pluralization.
Summary
| Feature | v1.0.0 | v1.1.0 | v1.1.1 |
|---|---|---|---|
| Raw NBT storage | ✅ | ❌ | ❌ |
| PlayerDataEntry API | ❌ | ✅ | ✅ |
| Client sync | ❌ | ✅ | ✅ |
| Minecraft's Translation API | ❌ | ❌ | ✅ |
| Localization | ❌ | ✱ | ✅ |
| Mixins | ✅ | ❌ | 🤏🏻 |
✱ In v1.1.0, localization was implemented, but the language files used lowercase filenames, preventing them from loading when building from source.
🤏🏻 Only employs an accessor mixin to get "private String translator" from EntityPlayerMP. This is how it reads the player's language from client-side to server-side.