堕天使之墓
本帖最后由 堕天使之墓 于 2021-3-22 12:57 编辑

如题。
就是想实现一个效果:不定时触发一个命令,但时间间隔在指定的一个范围内。
不太了解如何通过命令这么搞什么的。

编辑:用命令解决,要弄原版模组的
编辑x2:所以昨天是生气了——然后觉得有必要对离谱的答案标记个“X”以免被选上最佳混到金粒。但因为没说明清楚意思此外条件没给就评分了什么的感觉对别人来说莫名其妙的。
“X”这东西这次算我的错(等会会联系撤销评分什么的),但以后提问时我觉得不会再闹出这情况。
以及生成实体获取UUID我觉得就免了吧......晚上的时候试试地板那楼(修改后的)战利品表方案。

洞穴夜莺
给个思路
先用uuid的方法搞一个随机数
存进记分板里
然后每tick减一
当它为0时执行命令并重置该记分板

w6vDqw
本帖最后由 wine毛毛 于 2021-3-21 17:27 编辑

我觉得底下这两个可能比较适合你,通过命令方块和红石实现
应该很好理解的
但是只能在已经加载的区块工作

【以下内容为搬运】
来源:Wiki
地址:https://minecraft-zh.gamepedia.c ... 1%E7%94%9F%E5%99%A8





钠钠钠镓
本帖最后由 512285574 于 2021-3-21 23:58 编辑

刷怪笼,设定最小生成延迟最大生成延迟,即为所需的时间范围
生成物为falling_block(低版本为FallingSand),方块类型红石块,生成位置在所需的命令方块处,记得补一个清除红石块的CB
具体指令可用生成器https://www.mcmod.cn/tools/cbcreator/(楼上几位怎么把这么古老的随机器忘了)

数据包解法的话,可以考虑战利品表
  1. {
  2. "type":"minecraft:generic",
  3. "pools":
  4.         [
  5.                 {
  6.                  "rolls":
  7.                         {
  8.                          "min":20,
  9.                          "max":200
  10.                         },
  11.                  "entries":
  12.                         [
  13.                                 {
  14.                                  "type":"minecraft:item",
  15.                                  "name":"minecraft:air"
  16.                                 }
  17.                         ]
  18.                 }
  19.         ]
  20. }
复制代码
假设该文件为datapacks/<数据包名>/data/<命名空间>/loot_tables/<战利品表名>.json
则使用以下指令获得一个随机数,并储存于<玩家名>的记分板<记分板名>中。随机数的范围为战利品表中的min~max
  1. execute store result score <玩家名> <记分板名> run loot spawn ~ ~ ~ loot <命名空间>:<战利品表名>
复制代码
测试了300个结果


LxAs
https://www.mcbbs.net/forum.php?mod=viewthread&tid=1178742
这个也许能帮到你