[]
在某些情况下,插件在迭代的时候,会增加一些字段。所增加的字段的值会根据命令之前的一些内容来确定。所需要的是当前命令实现 ISupportUpgrade 接口。
如下代码:
@Data
@Icon("resources/Icon.png")
public class MyPlugin extends Command implements ICommandExecutableInServerSide, ISupportUpgrade {
@Browsable(false)
private boolean myProperty1;
private String myProperty2;
private String myProperty3;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的插件";
}
@Override
public void upgrade() {
if(myProperty1){
myProperty2 = "升级咯,我有值了";
myProperty3 = "升级咯,我也有值了";
}
}
}
上述代码的解释:
原本存在字段myProperty1,插件升级后,myProperty1不再提供编辑,且预计逐渐废弃。老版本插件中,如果myProperty1为true,给新添加的字段myProperty2,myProperty3赋值。