Skip to content

联动、背包、经济与属性

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 最终阶段强化已关闭")

TQ Minecraft Server Plugin Docs