On Player Join
简介
本系统将在玩家加入世界时运行您指定的命令。
设置
在聊天栏输入:
/scoreboard objectives add wiki:joined dummy
如果您使用函数并希望在世界初始化时自动添加该目标,请按照首次世界加载中概述的流程操作。
系统
BP/functions/event/players/on_join.mcfunction
yaml
## 将首次加入或之前从'wiki:joined'中清除的玩家注册到目标中
scoreboard players add @a wiki:joined 0
## 在此处添加您的命令(示例)
tp @a[scores={wiki:joined=0}] 0 65 0
### 标记玩家为已加入
### 清除在线和离线玩家的'joined'分数
scoreboard players reset * wiki:joined
### 将在线玩家的分数设为1
scoreboard players set @a wiki:joined 1
这里我们使用了/tp命令作为示例,但您可以使用任何您喜欢的命令,数量不限。
只需确保按照给定的顺序,并正确应用scores={wiki:joined=0}选择器参数,如示例所示。
说明
当玩家加入时,他们的wiki:joined目标会被添加一个分数0。这使我们能够使用scores选择器参数为他们运行命令。
在命令运行后,我们立即使用通配符*****重置目标上的所有分数。只有保持在线的玩家才会被设为分数1。
这样,由于我们的命令只针对分数为0的玩家,这些命令不会对保持在线的玩家重复执行,除非他们离开并重新加入,或者我们运行:
/scoreboard players set <player> joined 0
这是因为_添加_分数0到分数1不会有任何变化。但为没有分数的玩家添加分数0会将他们的分数设为0。
Tick JSON
如果您使用函数而非命令方块,必须将on_join函数添加到tick.json中以便循环持续运行。可以通过在每个字符串后加逗号来向tick.json添加多个文件。更多信息请参阅函数文档。
BP/functions/tick.json
json
{
"values": [
"wiki/event/players/on_join"
]
}如果使用函数,您的包文件夹结构将如下所示:
- 📝on_join.mcfunction
- 📝tick.json
- 🖼️pack_icon.png
- 📝manifest.json

