写在前面:关于Fuji
上一篇关于Fabric服务器的模组推荐中推荐的这个名叫Fuji的模组,由于全英文文档和模块化功能可能会导致一些功能配合起来比较难理解(其实是我自己),这里仅做分享如何使用这个模组为服务器内的玩家制作每日登录奖励
重新介绍一下这个模组:这是一个尝试把 EssentialsX 移植到 fabric 平台上的模组模组里包括了很多有意思的功能,而且都是模块化的可以选择开启或关闭
制作每日奖励
如果需要下载模组可以点击这里:下载
模组的文档是以pdf形式上传的:下载
那么开始吧!
首先为了方便以后更改每日奖励部分的内容物,我们创建一个kit,通过kit give指令来为玩家领取奖励
在游戏中以op身份输入/kit editor,此模组有着方便的礼物编辑界面,可以很好的管理这些礼物包,以后如果需要修改每日奖励的内容也可以直接修改

我们点中间下方的添加来添加一个新的礼物包,命名为daykit,并在里面放些东西作为我们的每日奖励,编辑完后退出,回到你的服务端的界面
在这里我们来看看接下来需要用到的模块化功能,这些功能记得在config/fuji/config.json中开启,即把false改为true
command_bundle
此功能提供了将多条命令集中成一起执行的自定义指令,并且可以以管理员权限执行,意味着我们可以使用这个让没有权限执行/kit give的玩家来间接执行此命令

command_cooldown
此功能提供了指令的冷却时间,可以设定一条指令的最大执行次数和执行冷却,并提供了占位符来显示剩余的时间

command_scheduler
此功能提供了定时的任务触发器,用于每日0点将玩家的领取冷却刷新

首先使用command-cooldown的功能来编写一条领取每日奖励的指令
command-cooldown test daykit %player:name% --onFailed 'send-message %player:name% <green>你今天已经领取过奖励了' kit give %player:name% daykit这里的send-message是给玩家发送一条消息,这条语句的含义是,如果玩家词条命令能够正常执行(即没有触发领取冷却,则执行”kit give %player:name% daykit“以领取奖励,如果执行失败,则为玩家发送“你今天已经领取过奖励了”)
我们来为这条指令绑定一条便捷指令,打开路径为fuji/modules/command——bundle中的config.json
在下方添加一条配置文件:
"requirement": {
"level": 0,
"string": null
},
"pattern": "daykit",
"bundle": [
"command-cooldown test daykit %player:name% --onFailed 'send-message %player:name% <green>你今天已经领取过奖励了' kit give %player:name% daykit"
]
}
]
}这样便将这么一大串指令整合成了一条简单的/daykit
进入游戏中,为我们的/daykit指令设置一个执行冷却,以管理员身份输入指令
/command-cooldown create daykit 86400000 --maxUsage 114514create代表创建一个指令冷却,后面跟着的就是需要冷却的指令,86400000就是代表了时间(1000为一秒,此数字代表一天24个小时,即玩家领取了奖励后,指令即进入24小时冷却),–maxUsage 114514代表此命令能使用的次数,因为是每日奖励,给个大的数字即可
现在来为指令添加一个每日0点自动刷新冷却的功能
进入fuji\modules\command_scheduler中的scheduler.json配置文件中,在其添加以下代码
{
"jobs": [
{
"name": "daykit",
"enable": true,
"left_times": -1, // 无限次执行
"crons": [
"0 0 0 * * ? *" // 每天0点执行
],
"commands_list": [
[
"command-cooldown reset daykit *" //重置daykit指令的冷却
]
]
}
]
}至此,完成了每日奖励的所有工作










评论