Documentation
首先引入
import { Event } from "sapi-pro";subscribe(callback: (t: ChatSendBeforeEvent) => void | chatOpe, priority: number = 0)
订阅聊天事件,约等于 world.beforeEvents.chatSend.subscribe
Event.chatBus.subscribe((t) => {
world.sendMessage(t.sender.name + t.message);
});subscribetick(callback: () => void)
订阅 tick,每 tick 执行一次回调
subscribesec(callback: (lastsec: number) => void)
订阅秒,每秒执行一次回调
subscribemin(callback: () => void)
订阅分钟,每分钟执行一次回调
//简单的tps计算器
export const gg = new ScoreBoardDataBase("gg", "公告");
Event.intervalBus.subscribesec((lastsec) => {
tps = ((system.currentTick - lasttick) / ((Date.now() - lastsec) / 1000)).toFixed(1);
if (parseFloat(tps) > 20) tps = "20.0";
lasttick = system.currentTick;
//设置计分板
gg.clear();
gg.set(`§6TPS §r${tps}`, 3);
});bind(itemid: string, func: (player: Player) => void)
为物品使用绑定一个函数
Event.itemBus.bind("minecraft:clock", (player: Player) => {
FormManager.open(player, "menu.main");
});bind(id: string, func: (t: ScriptEventCommandMessageAfterEvent) => void)
绑定一个 scriptEvent
发送 scriptEvent 可以使用 SAPI 原版命令:
system.scriptEvent(id: string, message: string): void;