[]
        
(Showing Draft Content)

整数属性

默认情况下,如果一个属性的类型是 int 那么这个属性会被自动识别为整数属性,不需要做任何额外的事情

@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {

    private int inValue;

    @Override
    public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
        return new ExecuteResult();
    }

    @Override
    public String toString() {
        return "我的服务端命令插件";
    }

}

在设计器中效果如下:

image

如果需要更细致的控制,需要使用 IntProperty 注解来控制。

注意,标注 @IntProperty 的字段类型必须是 int 或者 Integer

1.控制最大值最小值

  1. 设置 @IntProperty 的 min 和 max

  2. 代码

    @Data
    @Icon("resources/Icon.png")
    public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
    
        @IntProperty(min = 5, max = 10)
        private int inValue;
    
        @Override
        public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
            return new ExecuteResult();
        }
    
        @Override
        public String toString() {
            return "我的服务端命令插件";
        }
    
    }
  3. 效果

    在设计器中 inValue 只能输入 5 到 10 之间的整数

  4. 其他说明

    如果不标注 @IntProperty ,默认整数属性的最小值是 0,最大值是 999。

    如果标注了 @IntProperty ,但是没有设置最大值最小值,则最小值是 -2147483648, 最大值是 2147483647

2.控制属性值可空

  1. 设置 @IntProperty 的 allowNull , watermark 可选

  2. 代码

    @Data
    @Icon("resources/Icon.png")
    public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
    
        @IntProperty(allowNull = true, watermark = "无限制")
        private Integer inValue;
    
        @Override
        public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
            return new ExecuteResult();
        }
    
        @Override
        public String toString() {
            return "我的服务端命令插件";
        }
    
    }
  3. 效果

    image


  4. 注意

    字段的类型需要声明为 Integer 而不是 int