ZenAnnotation 可以被提供给一个类或其方法以将其公开给 ZenScript。

这些注解可以被提供给 ZenClass

注解目标信息
注解
@ZenClass
ZenClass 类名(如 crafttweaker.item.IItemStack),可以与正式的类名不同
目标
信息
名称必须唯一
注解
@ZenExpansion
被扩展的 ZenType 名(如 crafttweaker.item.IItemStack
目标
信息
名称必须已经存在(你不能扩展不存在的 ZenType)
注解
@ZenRegister
目标
信息
用于自动注册这个类或扩展
注解
@IterableList
可迭代的 ZenClass 类名(如 crafttweaker.mods.IMod
目标
信息
需要可赋值给 Iterable<Type> 的类
注解
@IterableMap
键和值的可迭代的 ZenClass 类名(如 stringcrafttweaker.item.IItemStack
目标
信息
需要可赋值给 List<Type> 的类
注解
@IterableSimple
可迭代的 ZenClass 类名(如 crafttweaker.mods.IMod
目标
信息
需要可赋值给 Map<KeyType, ValueType> 的类
注解
@BracketHandler
括号处理器的优先级(如 priority = 19
目标
信息
需要可赋值给 IBracketHandler 的类
注解
@ModOnly
需要的 mod 的名称(isModLoaded(annotation.getValue()) 需要为 true)
目标
信息
@ZenRegister 结合使用

这些注解可以被提供给方法的参数

注解目标信息
注解
@NotNull
目标
参数
信息
什么也不做(NYI)
注解
@Optional
目标
参数
信息
表示参数是可选的。 可选参数在方法被调用时可以省略

这些注解可以被提供给方法(包括静态的和非静态的)

注解目标
注解
@ZenCaster
目标
方法
注解
@ZenOperator
运算符类型
目标
方法
注解
@ZenGetter
getter 的名称(如 “name”)当被省略时,将使用没有()的方法名
目标
方法
注解
@ZenSetter
setter 的名称(如 “name”)当被省略时,将使用没有()的方法名
目标
方法
注解
@ZenMemberGetter
目标
方法
注解
@ZenMemberSetter
目标
方法
注解
@ZenMethod
目标
方法
注解
@ZenMethodStatic
目标
方法
注解
@ZenDoc
用于 dumpZS 的附加方法信息
目标
方法

这些注解可以被提供给公开字段(包括静态的和非静态的)

注解目标信息
注解
@ZenProperty
目标
字段
信息
@ZenSetter@ZenGetter 的结合