**This is an old revision of the document!**

无人机

无人机是通过在 装配器 中使用 无人机外壳 创造的。它们是实体类型的机器人,更便宜但功能也会受限。它们无法与外部组件交互。

它们没有次要存储空间,所以它们使用 EEPROM 来编程。一旦组装起来,它们可以被新的eeprom重新编程(旧的 EEPROM 会被返还)。 — 周子力 2022/10/16 11:37

基础语法

getStatusText():string 获取当前在 GUI 中显示的状态文字(文本)。(机翻:获取当前在 GUI 中显示的状态文本。)

setStatusText(value:string):string 设置在GUI显示的状态文字(文本),并返回一个新的值。

move(dx:number,dy:number,dz:number) 通过指定的位移量移动到目标位置。

getOffset():number 获取到当前目标位置的距离。

getVelocity():number 获取目标的当前速度。(单位:m/s)

getMaxVelocity():number 获取到目标的最大速度。(单位:m/s)

getAcceleration():number 获取到当前设置的加速度。

setAcceleration(value:number):number 尝试把加速设置到指定值并返回新的加速度的值。 name():string

获取无人机的名称。 swing(side:number):boolean[,string] 让机器人使用当前自身工具栏装备的物品来与与正前方的方块、空气(空间)交互。(机翻:让 机器人使用工具槽中当前装备的物品对抗机器人正前方的方块或空间。) 如果成功则返回“true”(可能需要时间,具体时间取决于与其交互的方块-例如黑曜石需要时间来挖掘)。 如果执行失败则返回“false”同时返回失败的原因。

use(side: number[, sneaky: boolean[, duration: number]]): boolean[, string] 尝试以玩家相同的方式:右键(单击)来使用当前装备在工具栏中的物品

side-如果指定该值,则无人机尝试仅在指定面上单击右键,否则无人机会尝试所有面,请查阅 Sides API 以获取可能的面列表(这个面可能翻译的不好,可以换成边)

sneaky-如果设置为true,机器人(无人机)将会模拟玩家的“潜行右击”。如果设置为true,则某些物品(例如桶)的行为会有所不同。

duration-使用该物品的时间。这在使用弓等持续使用物品很有用(机翻:持续时间 - 使用该项目的时间。这在使用弓等充电物品时很有用。)

Returns:如果机器人可以与它前面的方块交互,则返回true,否则返回false。如果成功,第二个参数将会描述机器人(无人机)与之交互的内容,并且将是“blockactivated”、“itemplaced”之一。 此函数用途非常广泛,因为机器人可以模拟大多数物品的单击右键。与玩家的唯一区别是机器人不能使用特别要求用户是实体的物品,因为机器人是一个方块。所以喝药水、吃食物或扔末影珍珠都会失败。 这个函数的次要返回值可以用来判断右键单击的结果是什么造成的。返回项目结果并不总是很明显,需要事先进行一些测试。另请注意,虽然机器人不受有害药水的影响,但它们可能会被爆炸摧毁,因此在使用此功能放置、投掷或激活任何形式的炸药时要小心。第二个返回值的可能值:

block_activated - 一个被激活的方块(例如拉杆、开关、门)

item_interacted -用装备的工具与世界互动,例如在羊上使用剪刀。

item_placed - 某个东西被放置在世界中。这不仅仅是有可放置的方块引起的,但也可以通过方块或实体出现在世界中的物品(例如燧石或刷怪蛋)

item_used - 装备物品被激活[激活/使用],如同喷溅药水一样。

air - 当前装备的物品(包括空手)需要对着一个目标物体才能使用。请注意如果你的机器人[无人机]有天使方块升级,这个值将永远不会被返回,但是一些操作可能仍然无效果

place(side: number[, sneaky: boolean]): boolean[, string] 尝试将物品栏中已选定格子的方块放置在指定面(如果支持这面)。 如果 sneaky 设置为true,那么机器人(无人机)将会模拟潜行放置(shift-click)。(机翻:如果偷偷摸摸的设置为真,机器人将模拟一个偷偷摸摸的放置(shift-click)。)如果成功放置,则返回 true。 如果操作执行失败,则返回false。如果使用一个不被支持的值作为参数,则操作将会执行失败并说明失败的原因。

getLightColor():number 获取襟翼(无人机)或状态(机器人)[活动]灯的颜色,并用整数编码RGB值(0xRRGGBB)形式表示

setLightColor(value:number):number 将活动(机器人)或襟翼(无人机)灯的颜色设置为指定的整数编码 RGB 值 (0xRRGGBB)。

目录