1.1.0-ALPHA.4
Compatibility
Changes
v1.1.0
This pull request migrates the LyttleTab plugin from the legacy Bukkit command and plugin system to the modern Paper plugin API, specifically adopting Brigadier-based command registration and Paper's new plugin lifecycle events. It also removes the old plugin.yml in favor of the Paper-specific plugin descriptor files. The most significant changes are grouped below:
Migration to Paper API and Brigadier Commands:
- Refactored command registration from Bukkit's
CommandExecutor/TabCompleterto Paper's Brigadier command system, usingLifecycleEventManagerandCommandsfor dynamic command registration inLyttleTab.java. (src/main/java/com/lyttledev/lyttletab/LyttleTab.java, [1] [2] - Rewrote the
LyttleTabCommandclass to define commands using Brigadier, including permission checks and command execution logic, and removed legacy Bukkit command methods. (src/main/java/com/lyttledev/lyttletab/commands/LyttleTabCommand.java, src/main/java/com/lyttledev/lyttletab/commands/LyttleTabCommand.javaL4-R48)
Plugin Descriptor Updates:
- Added
paper-plugin.ymland#defaults/paper-plugin.ymlto define plugin metadata and dependencies according to the Paper plugin specification, replacing the legacyplugin.yml. (src/main/resources/paper-plugin.yml,src/main/resources/#defaults/paper-plugin.yml, src/main/resources/#defaults/paper-plugin.ymlR1-R20) - Removed the old
plugin.ymlfile, including command and dependency declarations, as these are now handled in the new Paper descriptor files. (src/main/resources/plugin.yml, src/main/resources/plugin.ymlL1-L18)
These changes modernize the plugin's structure, improve command handling, and ensure compatibility with the latest Paper server features.
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:f7woQyDJ:GI4IjBKF"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:f7woQyDJ:GI4IjBKF"
}

