dependencies {// Required for all platforms implementation 'io.github.revxrsal:lamp.common:[VERSION]'// Velocity module implementation 'io.github.revxrsal:lamp.velocity:[VERSION]'// Optional: Brigadier module implementation 'io.github.revxrsal:lamp.brigadier:[VERSION]'}
dependencies {// Required for all platformsimplementation("io.github.revxrsal:lamp.common:[VERSION]")// Velocity moduleimplementation("io.github.revxrsal:lamp.velocity:[VERSION]")// Optional: Brigadier moduleimplementation("io.github.revxrsal:lamp.brigadier:[VERSION]")}
Optional: Preserve parameter names
Lamp identifies parameters by their names and uses them to generate relevant command metadata. By default, Java does not preserve parameter names reflectively. You need to add the following to your project:
compileJava { // Preserve parameter names in the bytecode options.compilerArgs += ["-parameters"]}// optional: if you're using KotlincompileKotlin { kotlinOptions.javaParameters =true}
tasks.withType<JavaCompile> {// Preserve parameter names in the bytecode options.compilerArgs.add("-parameters")}// optional: if you're using Kotlintasks.withType<KotlinJvmCompile> {compilerOptions { javaParameters =true }}
Velocity-specific annotations
@CommandPermission
Adds a command permission for the given command
Supported Velocity types
com.velocitypowered.api.command.CommandSource and its subclasses in place of CommandActor