Skip to content

内置函数

RedScript 所有内置函数的完整列表。

聊天与显示

函数描述
say(message)向所有玩家广播消息
tellraw(target, message)向目标发送格式化消息
title(target, text)在屏幕上显示标题
subtitle(target, text)在屏幕上显示副标题
actionbar(target, text)在动作栏显示文本
rs
say("Hello everyone!");
tellraw(@a, "Welcome to the server!");
title(@p, "You Win!");
subtitle(@p, "Congratulations!");
actionbar(@a, "Score: ${score}");

实体管理

函数描述
summon(entity, x, y, z)在指定位置召唤实体
summon(entity, x, y, z, nbt)带 NBT 召唤
kill(target)杀死实体
tp(target, x, y, z)传送实体
tp(target, destination)传送到实体
rs
summon("zombie", ~0, ~5, ~0);
kill(@e[type=zombie]);
tp(@a, 0, 100, 0);
tp(@s, @p);

物品

函数描述
give(target, item, count)给予物品
give(target, item, count, nbt)给予带 NBT 的物品
clear(target)清除所有物品
clear(target, item)清除特定物品
clear(target, item, count)清除指定数量物品
rs
give(@a, "diamond", 64);
give(@s, "diamond_sword", 1, {Enchantments: [{id: "sharpness", lvl: 5s}]});
clear(@a);
clear(@s, "dirt", 10);

效果

函数描述
effect(target, effect, duration, amplifier)施加效果
effect_clear(target)清除所有效果
effect_clear(target, effect)清除特定效果
rs
effect(@a, "speed", 30, 2);
effect(@s, "instant_health", 1, 1);
effect_clear(@a);
effect_clear(@s, "poison");

记分板

函数描述
scoreboard_add(name, criteria)创建目标
scoreboard_remove(name)移除目标
scoreboard_display(slot, name)显示目标
scoreboard_set(target, name, value)设置分数
scoreboard_add_score(target, name, value)增加分数
scoreboard_remove_score(target, name, value)减少分数
scoreboard_reset(target, name)重置分数
scoreboard_get(target, name)获取分数
rs
scoreboard_add("kills", "playerKillCount");
scoreboard_display("sidebar", "kills");
scoreboard_set(@a, "kills", 0);
scoreboard_add_score(@s, "kills", 1);

队伍

函数描述
team_add(name)创建队伍
team_remove(name)移除队伍
team_join(name, target)加入队伍
team_leave(target)离开队伍
team_modify(name, option, value)修改队伍选项
rs
team_add("red");
team_modify("red", "color", "red");
team_modify("red", "friendlyFire", "false");
team_join("red", @s);

世界

函数描述
setblock(x, y, z, block)放置方块
fill(x1, y1, z1, x2, y2, z2, block)用方块填充区域
clone(x1, y1, z1, x2, y2, z2, dx, dy, dz)克隆方块
weather(type)设置天气
time_set(value)设置时间
difficulty(level)设置难度
gamerule(rule, value)设置游戏规则
rs
setblock(0, 100, 0, "diamond_block");
fill(~-5, ~0, ~-5, ~5, ~3, ~5, "stone");
weather("clear");
time_set("day");
gamerule("doDaylightCycle", "false");

声音

函数描述
playsound(target, sound)播放声音
playsound(target, sound, volume, pitch)带选项播放
stopsound(target)停止所有声音
rs
playsound(@a, "entity.experience_orb.pickup");
playsound(@s, "block.note_block.pling", 1.0, 2.0);
stopsound(@a);

粒子

函数描述
particle(name, x, y, z)生成粒子
particle(name, x, y, z, dx, dy, dz, speed, count)带选项生成
rs
particle("flame", ~0, ~2, ~0);
particle("heart", ~0, ~2, ~0, 0.5, 0.5, 0.5, 0.1, 10);

标签

函数描述
tag_add(target, tag)添加标签
tag_remove(target, tag)移除标签
rs
tag_add(@s, "playing");
tag_remove(@s, "playing");

经验

函数描述
xp_add(target, amount)添加经验点
xp_add_levels(target, amount)添加经验等级
xp_set(target, amount)设置经验点
rs
xp_add(@s, 100);
xp_add_levels(@s, 5);
xp_set(@a, 0);

数据

函数描述
data_get(target, path)获取 NBT 数据
data_merge(target, nbt)合并 NBT 数据
data_remove(target, path)移除 NBT 路径
rs
data_merge(@s, {Invisible: 1b});
data_remove(@s, "CustomName");

进度

函数描述
advancement_grant(target, advancement)授予进度
advancement_revoke(target, advancement)撤销进度
rs
advancement_grant(@s, "story/mine_diamond");
advancement_revoke(@a, "story/mine_diamond");

工具函数

函数描述
repeat(count) { }重复执行 N 次
for_each(array, lambda)遍历数组
map(array, lambda)转换数组
filter(array, lambda)过滤数组
random(min, max)随机整数
rs
repeat(5) {
    summon("zombie", ~0, ~0, ~0);
}

let result = random(1, 100);

游戏模式

函数描述
gamemode(target, mode)设置游戏模式
spawnpoint(target, x, y, z)设置出生点
rs
gamemode(@s, "creative");
spawnpoint(@s, 0, 100, 0);

侧边栏显示

函数描述
sidebar_set(title, target, objective)配置侧边栏
rs
sidebar_set("Kills", @a, "kills");

Released under the MIT License.