-
Notifications
You must be signed in to change notification settings - Fork 2
使用ClassAnnotationCommand
defoli_ation edited this page Nov 1, 2019
·
5 revisions
ClassAnnotation是为了提高自定义而设计的,与MethodAnnotation不同,ClassAnnotation是以整个类为单位,作为命令的执行单元,相较MethodAnnotation,虽然制作命令的效率有所降低,但在继承MethodAnnotation的部分优点的同时MethodAnnotation所存在的缺点也被消除
以最简单的发送say为例
ClassAnnotationCommand.getBuilder(simpleCommandManager)
.caseCommand("say", new Runnable() {
@Sender
public CommandSender sender;
public String message;
@Override
public void run() {
System.out.println(sender.getSenderName()+":"+message)
}
})
.register();
simpleCommandManager.execute(testSender,"say "hello world"");
当命令能够执行时,我们将确保所有属性(Field)都是玩家所输入的值,所以,放心用。 在MethodAnnotation中部分Annotation依然能够在ClassAnnotation中使用,并且新增了一些Annotation
不支持
注解于Run方法上,作用与MethodAnnotation相同
注解于属性(Field)上,作用与MethodAnnotation相同
注解于属性上,作用与MethodAnnotation相同
注解于属性上,作用与MethodAnnotation相同
注解于属性上,作用与MethodAnnotation相同
注解于属性上,作用与MethodAnnotation相同
注解于属性上,在类中,所有属性都默认为玩家必须输入的参数,将此注解标记于属性上,即可让系统忽略这个属性