This is a java library which provides a better commands API for Bukkit plugins.
First, add MoonTalk repository to your pom.xml:
<repository>
<id>moontalk</id>
<url>httsp://repo.moontalk.space/repository/maven-releases/</url>
</repository>
Second, add library as dependency:
<dependency>
<groupId>space.moontalk.mc</groupId>
<artifactId>commands</artifactId>
<version>4.1.2</version>
</dependency>
Done.
Just execute the following Maven command in your terminal:
mvn install
This is a simple player-to-player teleportation plugin example:
public class Plugin extends JavaPlugin {
@Override
public void onEnable() {
final var commandHandler = new DefaultMultiCommandHandler(this);
commandHandler.addCommandRoute("mytp %p %p", call -> {
final Player from = call.getPlaceholdedAt(0);
final Player to = call.getPlaceholdedAt(1);
from.teleport(to);
});
}
}
%p
is a placeholder which stands for an online player.
With this little of code you get:
- autocompletions;
- error handling;
- working
mytp
command.
For real projects you can config all messages and add your own placeholders. Also you can specify required priority and command sender classes for route handlers.
For a complete real-world example you can see this plugin.
Full power of the plugin is shown in the setupCommands
method of the main class;
Will be added soon... (maybe)