Skip to content

字符串与集合

字符串函数

长度

  • 用法:长度(文本)长度(列表)
  • 参数:文本或列表
  • 返回值:int
text
阶段名长度 = 长度(阶段.当前名称())
日志("当前阶段名称长度: " + 阶段名长度)

截取

  • 用法:截取(文本, 开始)截取(文本, 开始, 结束)
  • 参数:文本、起始索引、可选结束索引
  • 返回值:String
text
短编号 = 截取("stage_boss_final", 6, 10)
消息.发送("&7当前短编号: " + 短编号)

替换

  • 用法:替换(文本, 旧内容, 新内容)
  • 参数:原文本、旧内容、新内容
  • 返回值:String
text
显示名 = 替换("第1层-困难", "-", " / ")
消息.广播("&e" + 显示名)

转小写

  • 用法:转小写(文本)
  • 参数:文本
  • 返回值:String
text
区域标签 = 转小写("BOSS_ROOM")
副本.设置变量("当前区域标签", 区域标签)

转大写

  • 用法:转大写(文本)
  • 参数:文本
  • 返回值:String
text
状态文本 = 转大写(副本.状态())
日志("副本状态: " + 状态文本)

去空白

  • 用法:去空白(文本)
  • 参数:文本
  • 返回值:String
text
输入阶段 = 去空白("  Boss阶段  ")
阶段.开始(输入阶段)

包含

  • 用法:包含(文本, 关键字)
  • 参数:文本、关键字
  • 返回值:boolean
text
if 包含(阶段.当前名称(), "Boss") {
    消息.广播("&c当前已经进入 Boss 阶段")
}

前缀判断

  • 用法:前缀判断(文本, 前缀)
  • 参数:文本、前缀
  • 返回值:boolean
text
if 前缀判断(阶段.当前(), "wave_") {
    日志("当前仍然是波次阶段")
}

后缀判断

  • 用法:后缀判断(文本, 后缀)
  • 参数:文本、后缀
  • 返回值:boolean
text
if 后缀判断(区域.玩家当前(), "_boss") {
    消息.发送("&c你已经进入 Boss 区域")
}

分割

  • 用法:分割(文本, 分隔符)
  • 参数:文本、分隔符
  • 返回值:List<String>
text
标签列表 = 分割("火,冰,雷", ",")
第一个标签 = 首项(标签列表)
消息.发送("&e第一个标签: " + 第一个标签)

索引

  • 用法:索引(文本, 关键字)
  • 参数:文本、关键字
  • 返回值:int
text
位置 = 索引("zone_boss_gate", "boss")
日志("boss 出现的位置: " + 位置)

最后索引

  • 用法:最后索引(文本, 关键字)
  • 参数:文本、关键字
  • 返回值:int
text
最后下划线 = 最后索引("wave_boss_final", "_")
副本.设置变量("最后下划线位置", 最后下划线)

是否空白

  • 用法:是否空白(文本)
  • 参数:文本
  • 返回值:boolean
text
if 是否空白(副本.读取变量("公告文本")) {
    消息.广播("&7当前没有额外公告")
}

开头去除

  • 用法:开头去除(文本, 前缀)
  • 参数:文本、前缀
  • 返回值:String
text
纯阶段ID = 开头去除("stage_boss_1", "stage_")
日志("纯阶段ID: " + 纯阶段ID)

结尾去除

  • 用法:结尾去除(文本, 后缀)
  • 参数:文本、后缀
  • 返回值:String
text
纯组名 = 结尾去除("wave_final", "_final")
消息.发送("&e组名: " + 纯组名)

补零

  • 用法:补零(值, 长度)
  • 参数:文本或数字、总长度
  • 返回值:String
text
显示波次 = 补零(7, 3)
消息.广播("&7当前波次: #" + 显示波次)

集合函数

求和

  • 用法:求和(值1, 值2, ...)
  • 参数:1 个或更多数字
  • 返回值:double
text
总积分 = 求和(玩家A积分, 玩家B积分, 玩家C积分)
副本.设置变量("总积分", 总积分)

计数

  • 用法:计数(目标)
  • 参数:列表、文本或单值
  • 返回值:int
text
玩家名单 = 副本.玩家列表()
当前人数 = 计数(玩家名单)
消息.广播("&e当前人数: " + 当前人数)

连接

  • 用法:连接(列表, 分隔符)
  • 参数:列表、分隔符
  • 返回值:String
text
玩家名单文本 = 连接(副本.玩家列表(), "、")
消息.广播("&7当前队员: " + 玩家名单文本)

去重

  • 用法:去重(列表)
  • 参数:列表
  • 返回值:List<Object>
text
原始标签 = ["火", "冰", "火", "雷"]
去重标签 = 去重(原始标签)
日志("去重后数量: " + 计数(去重标签))

包含项

  • 用法:包含项(目标, 期望值)
  • 参数:列表、文本或单值;期望值
  • 返回值:boolean
text
玩家名单 = 副本.玩家列表()
if 包含项(玩家名单, "Alice") {
    消息.广播("&aAlice 仍在副本中")
}

首项

  • 用法:首项(列表)首项(文本)
  • 参数:列表或文本
  • 返回值:列表首元素或首字符
text
首位玩家 = 首项(副本.玩家列表())
消息.广播("&e当前第一位在线队员: " + 首位玩家)

末项

  • 用法:末项(列表)末项(文本)
  • 参数:列表或文本
  • 返回值:列表尾元素或尾字符
text
最后区域字母 = 末项("zone_boss_a")
日志("区域尾字符: " + 最后区域字母)

取值

  • 用法:取值(列表, 索引)取值(文本, 索引)
  • 参数:列表或文本、索引
  • 返回值:对应元素或字符
text
玩家名单 = 副本.玩家列表()
第二位玩家 = 取值(玩家名单, 1)
消息.发送("&7第二位玩家: " + 第二位玩家)

过滤空

  • 用法:过滤空(列表)
  • 参数:列表
  • 返回值:List<Object>
text
原始列表 = ["火", "", null, "雷"]
有效列表 = 过滤空(原始列表)
日志("有效标签数量: " + 计数(有效列表))

TQ Minecraft Server Plugin Docs