1.3.0
Compatibility
Changes
v1.3.0
This pull request introduces significant updates to modernize the LyttleNametag plugin for Minecraft 1.21 and Paper, including a migration to Paper's new command and plugin lifecycle system, integration with PacketEvents, and several configuration and dependency improvements. The changes enhance maintainability, compatibility, and future-proofing of the plugin.
Core Plugin Modernization and Refactoring:
- Migrated command registration to use Paper's Brigadier-based command system and lifecycle events, replacing Bukkit's legacy command executor and tab completer. The
LyttleNametagCommandclass now defines commands using Brigadier and is registered during the appropriate plugin lifecycle event. [1] [2] - Integrated PacketEvents using the recommended lifecycle (
onLoad,onEnable,onDisable), ensuring proper initialization, configuration, and termination of the PacketEvents API withinLyttleNametag. [1] [2] [3]
Configuration and Dependency Management:
- Replaced the legacy
plugin.ymlwith the newpaper-plugin.ymlformat, including updated metadata and explicit server dependency declarations for plugins like PlaceholderAPI, ProtocolLib, and ViaVersion, improving compatibility and startup order. [1] [2] - Updated the default and main configuration files to fix formatting issues in the
nametagtemplate, ensuring correct display of placeholders and colors.
Build System Updates:
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Ksss1YfG:GNkErv6P"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Ksss1YfG:GNkErv6P"
}

