dependencies {// Required for all platforms implementation 'io.github.revxrsal:lamp.common:[VERSION]'// Velocity module implementation 'io.github.revxrsal:lamp.fabric:[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.fabric:[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 }}
Fabric-specific annotations
@CommandPermission
Adds a command permission level for the given command
Supported Fabric types
net.minecraft.server.command.ServerCommandSource and its subclasses in place of CommandActor