联动、背包、经济与属性
MythicMobs 联动
MM.召唤
- 别名:
mm.spawn - 用法:
MM.召唤("怪物ID", x, y, z) - 参数:MythicMobs 怪物 ID 和坐标
- 返回值:
String
text
实体UUID = MM.召唤("AbyssBoss", 180.5, 70, 45.5)
消息.广播("&c已召唤联动 Boss: " + 实体UUID)MM.修改
- 别名:
mm.modify - 用法:
MM.修改("参数名", 值) - 参数:参数名和值
- 返回值:无
text
MM.召唤("AbyssBoss", 180.5, 70, 45.5)
MM.修改("生命倍率", 3.0)
MM.修改("显示名称", true)MM.属性
- 别名:
mm.attribute - 用法:
MM.属性("源名", "属性行1", ["属性行2"], ...) - 参数:属性源名和一条或多条属性行
- 返回值:无
text
MM.召唤("AbyssBoss", 180.5, 70, 45.5)
MM.属性("深渊Boss强化", "攻击力: +30%", "生命值: +50%")背包物品
这组动作默认还是按物品 ID 使用。
背包.扣除、背包.检查、背包.数量 现在也支持直接按背包里的物品信息匹配。第一个参数除了物品 ID,还可以写:
name:显示名片段lore:Lore片段nbt:NBT关键字material:材质名
也支持这些等价写法:
名称:等于name:描述:等于lore:材质:等于material:display:、displayname:也按名称匹配tag:也按nbt:处理
多条件可以用 | 或 ; 连接,写出来的条件需要同时满足。
text
if 背包.检查("name:&6挑战券", 1) {
消息.发送("&a你带了命名挑战券")
}
if 背包.扣除("lore:副本门票", 1) {
消息.发送("&e已扣除一张门票")
}
数量 = 背包.数量("material:ENDER_PEARL|name:&6挑战券")背包.给予
- 别名:
物品.给予 - 用法:
背包.给予("物品ID", [数量]) - 参数:物品 ID、数量
- 返回值:
boolean
背包.给予 只支持物品 ID,不支持 name:、lore:、nbt: 这种匹配写法。
text
if 背包.给予("Boss宝箱钥匙", 1) {
消息.发送("&6获得 Boss 宝箱钥匙")
}背包.扣除
- 别名:
物品.扣除 - 用法:
背包.扣除("物品ID或匹配表达式", [数量]) - 参数:物品 ID 或匹配表达式、数量
- 返回值:
boolean
text
if 背包.扣除("挑战券", 1) {
消息.发送("&e已消耗挑战券")
}text
if 背包.扣除("name:&6挑战券", 1) {
消息.发送("&e已扣除一张金色挑战券")
}
if 背包.扣除("材质:ENDER_PEARL|lore:活动道具", 2) {
消息.发送("&e已扣除 2 个活动珍珠")
}背包.检查
- 别名:
物品.检查 - 用法:
背包.检查("物品ID或匹配表达式", [数量]) - 参数:物品 ID 或匹配表达式、数量
- 返回值:
boolean
text
if 背包.检查("净化药剂", 1) {
消息.发送("&a你带了净化药剂,可以进下一阶段")
}text
if 背包.检查("lore:暴雪解除", 1) {
消息.发送("&b你身上有解除暴雪的道具")
}
if 背包.检查("material:ENDER_PEARL|name:&6挑战券", 3) == false {
消息.发送("&c你的挑战券数量不够")
}背包.数量
- 别名:
物品.数量 - 用法:
背包.数量("物品ID或匹配表达式") - 参数:物品 ID 或匹配表达式
- 返回值:
int
text
数量 = 背包.数量("碎片")
消息.发送("&b当前碎片数量: " + 数量)text
门票数 = 背包.数量("name:&6挑战券")
活动珍珠数 = 背包.数量("material:ENDER_PEARL|lore:活动道具")
消息.发送("&e当前门票: " + 门票数)
消息.发送("&e当前活动珍珠: " + 活动珍珠数)外部经济
经济.给予
- 别名:
金币.给予 - 用法:
经济.给予(金额) - 参数:金额
- 返回值:
boolean
text
if 经济.给予(500) {
消息.发送("&6获得 500 金币")
}经济.扣除
- 别名:
金币.扣除 - 用法:
经济.扣除(金额) - 参数:金额
- 返回值:
boolean
text
if 经济.扣除(200) {
消息.发送("&e已扣除 200 金币")
}经济.检查
- 别名:
金币.检查 - 用法:
经济.检查(金额) - 参数:金额
- 返回值:
boolean
text
if 经济.检查(1000) == false {
消息.发送("&c你的金币不足 1000")
}经济.余额
- 别名:
金币.余额 - 用法:
经济.余额() - 参数:无
- 返回值:
double
text
余额 = 经济.余额()
消息.发送("&e当前金币余额: " + 余额)AttributePlus 属性源
属性.添加
- 用法:
属性.添加("源名", "属性行1", ["属性行2"], ...) - 参数:源名和一条或多条属性行
- 返回值:无
text
属性.添加("暴雪减速", "移动速度: -25%")
消息.发送("&b暴雪减速已生效")属性.移除
- 用法:
属性.移除("源名") - 参数:源名
- 返回值:无
text
属性.移除("暴雪减速")
消息.发送("&a暴雪减速已解除")属性.全体添加
- 用法:
属性.全体添加("源名", "属性行1", ["属性行2"], ...) - 参数:源名和属性行
- 返回值:无
text
属性.全体添加("Boss压制", "最终伤害: -10%")
消息.广播("&cBoss 压制已覆盖全队")属性.全体移除
- 用法:
属性.全体移除("源名") - 参数:源名
- 返回值:无
text
属性.全体移除("Boss压制")
消息.广播("&a全队压制效果已解除")属性.怪物组添加
- 用法:
属性.怪物组添加("组ID", "源名", "属性行1", ["属性行2"], ...) - 参数:怪物组 ID、源名、属性行
- 返回值:
int
text
生效数 = 属性.怪物组添加("第三波", "狂暴强化", "攻击力: +15%", "移动速度: +10%")
消息.广播("&c第三波已进入狂暴,生效数量: " + 生效数)属性.怪物组移除
- 用法:
属性.怪物组移除("组ID", "源名") - 参数:怪物组 ID、源名
- 返回值:无
text
属性.怪物组移除("第三波", "狂暴强化")
消息.广播("&7第三波狂暴已移除")属性.角色添加
- 用法:
属性.角色添加("组ID", "角色ID", "源名", "属性行1", ["属性行2"], ...) - 参数:怪物组 ID、角色 ID、源名、属性行
- 返回值:
int
text
数量 = 属性.角色添加("Boss组", "Boss", "最终阶段强化", "生命值: +40%", "攻击力: +20%")
消息.广播("&4Boss 进入最终阶段,生效数量: " + 数量)属性.角色移除
- 用法:
属性.角色移除("组ID", "角色ID", "源名") - 参数:怪物组 ID、角色 ID、源名
- 返回值:无
text
属性.角色移除("Boss组", "Boss", "最终阶段强化")
消息.广播("&aBoss 最终阶段强化已关闭")