Repository navigation
2.0.0 Pre-Release 3
Pre-release
Pre-release
·
308 commits
to master
since this release
This release fixes a few bugs which especially affected older Spigot versions.
- Fixed a bug which caused all legacy (1.8-1.16) Spigot adapters to strip the signature from skins when retrieving them from players.
- This meant that they could not be applied to Players properly, because the client expects signed skins.
- Moved the construction of lang components to
LangManager, and renamed the overload ofcomponentwhich accepts a collection of objects tocomponentWith- This was primarily done because the Java 8 compiler would prioritize the overload which accepts a varargs array of Objects, whereas the Java 17 compiler would prioritize the overload which accepts a collection of Objects. This discrepancy could cause bugs when compiling multiple versions of a mod/plugin, so the two methods needed to be renamed.
- Fixed a bug which caused some lang entries in a registry to not be serialized if there were two or more keys with the same value.
Known Issues:
- Lang entries stored in YAML can have missing entries in certain cases.
- This is due to the way YAML is interpreted. The
.symbol is be used to address sub-sections, and therefore should generally not be used in keys. Right now, the lang system is designed to use.symbols in its keys (although this is not a requirement.) This means that YAML lang files cannot store certain combinations of keys. For example:my.lang.key: Helloandmy.lang.key.two: Worldcould not be stored in YAML without some sort of workaround, becausemy.lang.keywould be interpreted as both a string and a subsection simultaneously, which is obviously invalid. - Currently, this has the effect of making the
command.module.reloadlang key for this plugin not configurable on Spigot servers. - As of now, there is no solution for this implemented. For the time being, developers who use lang managers should either not use conflicting keys, or pass a custom
FileCodecRegistrywhich only allows JSON files to be used.
- This is due to the way YAML is interpreted. The
- When updating skins on older versions (tested on 1.8, 1.8.3, and 1.8.8), another model of the updated player briefly appears where they were standing on the updated client.
- Attempting to interact with this model will cause the player to be kicked from the server for attempting to interact with themself.
- The model disappears after a couple seconds, but the timing is highly inconsistent.
- I haven't done enough research to know if this is an issue which can be fixed or mitigated.