Skip to content

其他动作

IM 的大部分外部系统集成不是通过动作,而是函数调用——因为它们通常需要返回值(余额、是否成功、物品对象等)。这里把常见的"非动作"快速汇总,便于查找。

LyShop 货币(函数)

调用用途
lshop_take("绑定金币", 1000)扣除(返回 Boolean)
lshop_give("绑定金币", 500)给予
lshop_has("绑定金币", 1000)检查是否足够
lshop_get("绑定金币")查询余额
yaml
conditions: |
  require lshop_has("绑定金币", 1000) : "&c绑定金币不足"

execute: |
  lshop_take("绑定金币", 1000)

CraftX 永久变量(函数)

调用用途
cx_set("key", value)设置玩家永久变量
cx_get("key")读取
cx_add("key", n) / cx_take("key", n)增减
cx_has("key", n)是否 ≥
yaml
execute: |
  cx_add("enhance_count", 1)
  cx_set("last_enhance", datetime())

CraftX 临时变量(带过期)

yaml
execute: |
  # 每日次数限制(24 小时后过期)
  cxt_set("daily_enhance", 0, 86400000)
  日次数 = cxt_get("daily_enhance")
  cxt_add("daily_enhance", 1)

仓库(函数)

调用用途
wh_give(物品, 数量)发放到默认仓库
wh_give(物品, 数量, type)发放到指定仓库
wh_take(物品, 数量)扣除(返回未扣数量)
wh_has(物品, 数量)是否足够
wh_count(物品, type)统计数量

type 可选:"soulringx""srx")、"lywarehouse""lw")、"inventory""inv")、"all"

yaml
execute: |
  wh_give(@output, 1, "soulringx")
  钻石数 = wh_count(item.create("DIAMOND"), "all")

Vault 物品存储(函数)

yaml
execute: |
  物品ID = vault.store(@input)        # 返回存储 ID
  恢复物品 = vault.get(物品ID)        # 按 ID 取回
  vault.remove(物品ID)                # 删除存储

常用于跨服 / 跨会话传递物品,详见 外部集成

冷却(函数)

yaml
conditions: |
  require cooldown_ready("enhance") : "&c冷却中,剩余 {cooldown('enhance')} 秒"

execute: |
  cooldown_set("enhance", 60)        # 60 秒
  cooldown_clear("enhance")          # 清除

PAPI(函数)

yaml
variables: |
  金币 = papi("vault_eco_balance")
  解析文本 = papi_parse("欢迎 %player_name%,等级 %player_level%")

调试(函数)

yaml
execute: |
  log("当前等级:", 当前等级, "成功率:", 成功率)
  debug(@input)       # 输出物品详情到玩家和控制台

动作 vs 函数的判别

特点动作函数
调用语法目标.动作.方法(...) 或独立 动作.方法(...)函数名(参数)
返回值一般无(返回值不可用)有返回值
链式修改物品类的支持 . 链式不链式
典型用途修改物品、发消息、扣钱、刷 GUI查余额、判断、取值、算术

所以外部插件集成一般是函数(需要返回 Boolean 表示"是否成功"或 Number 表示"余额"),而 IM 自己的 money.take / points.take 才是动作(不关心返回值)。

TQ Minecraft Server Plugin Docs