utils 工具拓展
字段
无
方法
utils.isPlayer(p)
调用该方法将会判断传入对象是否为玩家。
if (utils.isPlayer(p)) {
logger.info("这是一个玩家!");
} else {
logger.warn("这不是玩家!");
}
utils.giveItem(idOrAlias, p)
调用该方法将会给予玩家指定id/alias的物品。
if (utils.isPlayer(p)) {
utils.giveItem("diamond_sword", p); // 给玩家一把钻石剑
}
utils.pause(time)
调用该方法将会阻塞/暂停当前流(线程) time 毫秒。
logger.info("开始等待...");
utils.pause(2000); // 暂停 2 秒
logger.info("等待结束!");
utils.sync(func)
调用该方法将会以主线程同步方式执行传入的 func 函数。
utils.sync(() => {
p.sendMessage("这条消息来自主线程!");
});
utils.async(func)
调用该方法将会以异步线程方式执行传入的 func 函数。
utils.async(() => {
logger.info("正在后台执行耗时操作...");
utils.pause(3000);
logger.info("后台任务完成!");
});
utils.later(func, delay)
调用该方法将会以在延迟 delay 秒后执行传入的 func 函数。
utils.later(() => {
p.sendMessage("3秒后触发的消息!");
}, 3);
utils.toItem(itemStack)
调用该方法将会把传入的 itemStack 实例转为 AzureFlow 物品。
let item = utils.toItem(p.getInventory().getItemInMainHand());
logger.info("物品数据:" + item.values);
utils.onBukkit(eventClazz, func)
调用该方法将会把传入的 func 参数作为监听器,注册到指定的Bukkit事件回调中。
utils.onBukkit(org.bukkit.event.player.PlayerJoinEvent.class, (event) => {
let player = event.getPlayer();
player.sendMessage("欢迎加入服务器!");
});
Last updated