脚本条件
TIP
犹豫本插件不带任何内置条件与属性,所以需要使用条件判断是否读取物品时,需要你手动使用脚本或扩展来实现条件。写好的脚本需要放在本插件资源目录下的 script/condition/
文件夹内
如何写一个脚本条件?
INFO
想较于脚本属性而言,脚本条件会简单很多,你只需要在脚本中定义一个关键字与一个优先级,然后定义一个方法名为 onCheck
该方法接收三个参数 entity: 当前实体;itemStack: 提供条件来源的物品;handler: 本次条件的处理器
js
const keyword = "测试条件"
const priority = 2
function onCheck(entity, itemStack, handler){
// 你要实现的逻辑
}
handler内容
以下提及到的变量无特殊说明的情况下皆可使用getter&setter方法获取或设置变量
getter: 比如变量message,那么他的getter则为getMessage()
setter: 比如变量message,那么他的setter则为setMessage()
- conditionMap(只能使用getter): 当前物品产生的条件Map,
- entity: 当前条件处理的实体
- itemStack: 当前条件处理的物品
- message: 条件不满足时向实体发送消息
WARNING
其实这个属性条件我设计的并不满意,后面可能会有大改
实现一个等级限制
js
const keyword = "等级限制"
const priority = 2
function onCheck(entity, item, handler){
// 获取当前条件Map,并获取当前这个条件 keyword
// 条件会以 关键字: 值 的形式存入Map
let value = handler.getConditionMap().get(keyword)
// 设置不满足条件时发送提醒的消息
handler.setMessage("需要等级: " + value)
// 校验当前条件是否通过
handler.allow = entity.getLevel() >= value
}
这样你就完成了一个等级限制的脚本条件,是不是很简单!!