[]
        
(Showing Draft Content)

小数属性

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

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

    private double value;

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

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

}

在设计器中效果如下:

image

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

注意,标注@DoubleProperty 的字段类型必须是 double 或者 Double

1.控制最大值最小值

  1. 设置 @DoubleProperty 的 min 和 max

  2. 代码

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

    在设计器中 value 字段只能输入 1 到 10 之间的小数

  4. 其他说明

    如果没有设置最大值最小值,则最小值是 -1.7976931348623157E+308, 最大值是 1.7976931348623157E+308

2.控制属性值可空

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

  2. 代码

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

    image


  4. 注意

    字段的类型需要声明为 Double 而不是 double