meisterhau-ll
    Preparing search index...

    Interface Move

    interface Move {
        backswing?: number;
        cast?: number;
        immediately?: boolean;
        onAct?: MovementCallback;
        onEnter?: MovementCallback;
        onLeave?: MovementCallback;
        onTick?: MovementCallback;
        timeline?: { [P: number]: MovementCallback };
        timeTrack?: { [K: number]: MovementCallback };
        transitions: { [P: string]: TransitionTypeOption };
    }
    Index

    Properties

    backswing?: number

    后摇时间,默认0tick

    若使用了 immediately,此项无效

    cast?: number

    前摇时间,默认0tick

    ({ cast: 1 }) //前摇50ms (1tick)
    

    若使用了 immediately,此项无效

    immediately?: boolean

    立刻结束当前状态,默认 false 设置为 true 会使部分功能失效

    cast 完成或者 immediatelytrue 时, 此函数被调用

    目标的选取范围与range有关, 若immediatelytrue, 选取的目标就是进入此状态时影响的生物 (如被攻击的生物)

    function killAllInRange(pl, ctx) {
    const mobs = ctx.selectFromSector(pl, {
    radius: 5, //半径
    angle: 90, //扇形区域角度
    rotation: -45 //扇形区域相对目标视线旋转角进行旋转的角度
    })
    mobs.filter(mob => pl.uniqueId !== mob.uniqueId) //排除自己
    .forEach(mob => mob.kill()) // 杀死被选取的生物
    }

    从上一个动作切换到这个动作进入cast状态时,执行回调函数,若 immediatelytrue,此回调函数不会被执行

    离开此状态时执行的回调, 若immediatelytrue, 此函数不会被调用

    常用来消除进入状态时添加的 effect

    
    

    进入此状态后,每tick执行的回调, 与onAct不同的是,目标每刻会刷新

    请尽量使用 onEnter, onAct, onLeave

    function flyup(pl, ctx) {
    const mobs = ctx.selectFromSector(pl, {
    radius: 5, //半径
    angle: 90, //扇形区域角度
    rotation: -45 //扇形区域相对目标视线旋转角进行旋转的角度
    })
    mobs.forEach(mob => {
    if (pl.uniqueId === mob.uniqueId) { //排除自己
    return
    }

    const {x, y, z, dimid} = mob.pos
    mob.teleport(x, y + 1, z, dimid)
    })
    } // 在范围内的生物每一刻都会以自己当前的位置向上传送一个单位
    timeline?: { [P: number]: MovementCallback }

    以刻为键的时间轴

    timeTrack?: { [K: number]: MovementCallback }

    时间轴,以毫秒为键

    transitions: { [P: string]: TransitionTypeOption }

    离开此状态的条件及下一个状态

    Type Declaration