Minecraft(我的世界)中文论坛

标题: 【1.15+】极简的定时器,利用schedule实现任意时刻的定时器 [打印本页]

作者: hans0000    时间: 2020-4-18 16:09
标题: 【1.15+】极简的定时器,利用schedule实现任意时刻的定时器
本帖最后由 hans0000 于 2020-4-18 16:45 编辑

前言
定时器应该是每门编程语音里内置的一个功能模块,作为一个CBer,这玩意儿也少不了用。过去也许会用红石的漏斗计数器之类的,后来有了积分板,现在呢,schedule的出现使得这个功能实现起来超级简单。


预备知识
在等待指定时间后运行指定的函数或指定标签里的函数 — — wiki。

语法:
schedule function <函数名> <时间> [replace | append]
t是刻(游戏刻,可省略),s是秒(现实时间秒),d是天(Minecraft天)

这里利用函数调用自身的特定,结合schedule即可达到任意时刻定时器的效果


基础版
新建timer1s.mcfunction文件
  1. say hello
  2. schedule function timer1s 1s
复制代码




带逻辑版本
有时候需求可能要加一些逻辑,进而我们可以定义多个文件到底预期的

新建interval3s-one.mcfunction
  1. execute as @p[tag=!showname] run tag @s add showname
  2. schedule function minecraft:interval3s-other 3s
复制代码

新建interval3s-other.mcfunction
  1. execute as @p[tag=showname] run tag @s remove showname
  2. schedule function minecraft:interval3s-one 3s
复制代码













欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/) Powered by Discuz! X3.5