AnzhiZhang / MCDReforgedPlugins

MCDReforged Plugins
GNU General Public License v3.0
93 stars 56 forks source link

[Bot]: 假人动作配置里支持“等待”与“重复”操作 #194

Closed Aimerny closed 2 months ago

Aimerny commented 3 months ago

Description丨描述

场景

在假人动作配置里,所有的动作都是瞬发的。期望能在假人的操作配置里支持waitfor操作,提供更加丰富的流程化编排能力。

以下是一个例子:

[
  "use continuous", 
  // 开始循环 [time]为次数,不填写为无限循环
  "for [time]", 
  "attack interval 14", 
  // 等待140tick
  "wait 140",
  // 停止攻击
  "stop", 
 // 等待200tick
  "wait 200",
 // 循环结束
  "end"
]

可能的问题点

AnzhiZhang commented 3 months ago

目前是直接传递给 carpet 的,需要一套优雅的方案,可能考虑定义可编程接口?

Aimerny commented 3 months ago

目前是直接传递给 carpet 的,需要一套优雅的方案,可能考虑定义可编程接口?

接入成本会不会变得很高?

AnzhiZhang commented 3 months ago

目前是直接传递给 carpet 的,需要一套优雅的方案,可能考虑定义可编程接口?

接入成本会不会变得很高?

对于提供的循环范例,首先就有很高的制作解析器的成本,除非做个跳转,让用户像写汇编一样。至于用户的成本,提供的写法和编程方法似乎没有多大的区别,编程方法还能避免一些低级错误,以及方便维护依赖约定

但是都考虑编程方法了,本质上就是做个插件扩展,和单独做个插件没有什么区别了

Aimerny commented 3 months ago

目前是直接传递给 carpet 的,需要一套优雅的方案,可能考虑定义可编程接口?

接入成本会不会变得很高?

对于提供的循环范例,首先就有很高的制作解析器的成本,除非做个跳转,让用户像写汇编一样。至于用户的成本,提供的写法和编程方法似乎没有多大的区别,编程方法还能避免一些低级错误,以及方便维护依赖约定

但是都考虑编程方法了,本质上就是做个插件扩展,和单独做个插件没有什么区别了

你的意思是可以将对机器人的编排单独抽出来做一个新插件么