Supported Minecraft servers: Paper 1.21.4-1.21.10
I'm proud to announce CoordinateOffset's latest major release, 5.0.0. This release overhauls lots of internal code and restructures the entire project. This will facilitate some new features and platform support that I've been wanting to add for a while. Please report bugs on the issue tracker or in Discord.
Upgrading from CoordinateOffset 4.0
If you just want to upgrade, be aware of the following:
- Regular backups are mandatory.
- Minecraft versions 1.21.3 and below and all Spigot servers are no longer supported. (Read below for more info)
- PacketEvents is now required as a dependent plugin. Please install the latest development build (for now, PE's latest release does not support MC 1.21.10).
- Your CoordinateOffset
config.yml
will be stripped of all comments and reorganized on upgrade. Your existing configuration will be backed up toconfig.v4.old.yml
in the plugin's data folder before it is migrated. All saved configuration should work the same as it did before the upgrade. /offsetreload
is now/offset reload
./offset <player>
is now/offset query <player>
.
Dropping support for <1.21.4 and Spigot
Minecraft versions below 1.21.4 and all Spigot servers are no longer supported. Paper hard-forked from Spigot almost a year ago, and 1.21.9 was the first version where Paper's decisions split away from Spigot in a way that affects CoordinateOffset. Dropping support let me delete a lot of legacy code, rewrite the command system in Brigadier, and spend less time testing new releases.
Based on bStats data, at the time of writing, only 2 of 41 servers running CoordinateOffset are using Spigot. 4 of 41 servers are running a Minecraft version below 1.21.4. It doesn't make sense to accommodate these servers with new plugin development. My apologies if you are affected, but please stay on v4.0.16 if you need it.
Full Changelog
- Support 1.21.9 and 1.21.10
- Convert plugin to a Paper plugin and increase API version to 1.21.4
- Stop shading PacketEvents; require PacketEvents as a dependency
- Replace configuration system with ConfigLib
- Configuration is now automatically formatted and new options are added during plugin load
- Comments and unexpected configuration will be deleted when the plugin loads
- Add new
obfuscateDebugPropertySubscriptions
config.yml setting- Minecraft 1.21.9+ has "debug" properties that clients can enable. These properties show real coordinates inside entity brain data (such as bees and villagers).
- The new setting disables debug properties for all clients with an offset applied.
- This setting is enabled by default. Disabling it makes these debug flags work but reveals offsets to players.
- Rewrite
/offset
command- The output of all subcommands is now formatted more nicely
- The command gives proper suggestions based on permissions
/offsetreload
is now/offset reload
/offset <player>
is now/offset query <player>
- All permissions are unchanged
- Add a proper API published on Maven Central
- See API wiki page for details
- Remove
debug
config.yml setting- This setting was not intended for production use and caused plugin errors when enabled.
- Various internal changes
- Restructure code to be in
api
,core
, andpaper
subprojects for increased modularization - Redesign offset change logic during join/respawn/world change to more accurately map to the game's protocol
- Redesign offset storage logic to be more efficient with concurrency
- Restructure code to be in
- Support 1.21
- Fix movement near bamboo and dripstone when an offset is applied
- NOTE: Servers migrating from v3 should add the
fixCollision
section to their CoordinateOffset config.yml. However, this fix is enabled by default even if these lines are omitted.
- NOTE: Servers migrating from v3 should add the
- Remove separate PacketEvents dependency
- PacketEvents is now shaded into CoordinateOffset, so it is not necessary to install as a separate plugin.
- Several fixes to 1.20.6 bugs present in PacketEvents v2.3.0
- Fix players being kicked while near a horse or wolf that is wearing armor (packetevents#827)
- Fix players respawning instantly after dying (packetevents#816)
- Fix treasure maps with icons kicking players (packetevents#811)
- Fix banners with patterns kicking players (packetevents#772)
- Fix decorated pots in an inventory kicking players (packetevents#768)
- Support 1.20.6 (requires PacketEvents dev build #397+ or release 2.2.2+)
- Improve exception handling and debuggability
- Drop CommandAPI dependency; rewrite commands in standard Bukkit API