1.3.0-ALPHA.12
Compatibility
Changes
v1.3.0
This pull request migrates the plugin from Bukkit's legacy command and plugin registration system to Paper's modern APIs, refactoring command handling to use Brigadier and updating plugin metadata files for Paper compatibility. The main changes are the switch to Paper's lifecycle events for command registration, a complete rewrite of the command logic to use Brigadier, and the removal of the old plugin.yml in favor of Paper's paper-plugin.yml.
Migration to Paper API and Brigadier commands:
- Replaced Bukkit's command registration with Paper's lifecycle event system, registering commands via
LifecycleEventManagerand the newregisterCommandsmethod inLyttleNametag.java. - Refactored
LyttleNametagCommandto use Brigadier for command structure, permissions, and execution, removing the oldCommandExecutorandTabCompleterimplementations. Now commands are registered and handled using theCommandsAPI and Brigadier nodes.
Plugin metadata and configuration updates:
- Removed the legacy
plugin.ymland replaced it withpaper-plugin.ymland a template#defaults/paper-plugin.yml, specifying plugin metadata, authors, and dependencies in the Paper format. [1] [2] - Updated dependencies to use the new Paper plugin system, including specifying soft dependencies and load order for compatibility plugins like PlaceholderAPI, ProtocolLib, and ViaVersion.
Codebase modernization:
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:1gR5y9Go"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Ksss1YfG:1gR5y9Go"
}

