本帖最后由 むらさき 于 2019-11-11 13:29 编辑
怎么设置世界的昼夜时间?
想玩一个夜长昼短的生存
怎么弄在床上睡觉不能睡到新的一天但会取消自身引起的幻翼刷新?
这些可以用指令/命令方块实现吗?或者插件也可以?
怎么设置世界的昼夜时间?
想玩一个夜长昼短的生存
怎么弄在床上睡觉不能睡到新的一天但会取消自身引起的幻翼刷新?
这些可以用指令/命令方块实现吗?或者插件也可以?
本帖最后由 ⊙u⊙ 于 2019-11-10 20:00 编辑
1秒=20tick
可以每隔一段时间就给当天时间加速几个tick/sec,以此做到夜长昼短
以缩短早上时间为例(反之同理)
使用这个可以获取当天的时间(tick)
execute store result score $fake time run time query daytime
设置一个时钟用以判断什么时候该执行"加速"
scoreboard objective add clock dummy
scoreboard players add $fake clock 1
"加速"时给当天时间add,加速1秒为例
time add 20
每过5秒加速1秒为例
execute if score entity $fake clock matches 100.. run time add 20(复位)
夜长昼短,我们可以定义为在早上时给世界"加速",那么要做的便是判断获取的时间分数为早上时,执行"加速"
execute if score entity $fake time matches 0..12999 run time add 20
(复位)
把每5秒补上后便为如下
execute if score entity $fake clock matches 1 if score entity $fake time matches 0..12999 run time add 20
(复位)
最后别忘了给时间分数复位
execute if score entity $fake clock matches 100.. run scoreboard players set $fake clock 0
"可以睡到新的一天,但视觉上感觉不出是新的一天"
创建睡觉检测(不清楚最近版本的改动"早上也能使用床"会不会增加此分数,自己留意一下)
scoreboard objective add minecraft.custom:minecraft.sleep_in_bed sleepcount
execute if score @a sleepcount matches 1.. run time add <时间差>
*时间差为玩家睡觉时的时间减去起床时的时间,时间关系没有写...
还有睡觉分数归位
scoreboard players reset @a[scores={sleepcount=1..}]
能睡觉,自然就能刷新修仙蝠的生成了
1秒=20tick
可以每隔一段时间就给当天时间加速几个tick/sec,以此做到夜长昼短
以缩短早上时间为例(反之同理)
使用这个可以获取当天的时间(tick)
execute store result score $fake time run time query daytime
设置一个时钟用以判断什么时候该执行"加速"
scoreboard objective add clock dummy
scoreboard players add $fake clock 1
"加速"时给当天时间add,加速1秒为例
time add 20
每过5秒加速1秒为例
execute if score entity $fake clock matches 100.. run time add 20(复位)
夜长昼短,我们可以定义为在早上时给世界"加速",那么要做的便是判断获取的时间分数为早上时,执行"加速"
execute if score entity $fake time matches 0..12999 run time add 20
(复位)
把每5秒补上后便为如下
execute if score entity $fake clock matches 1 if score entity $fake time matches 0..12999 run time add 20
(复位)
最后别忘了给时间分数复位
execute if score entity $fake clock matches 100.. run scoreboard players set $fake clock 0
"可以睡到新的一天,但视觉上感觉不出是新的一天"
创建睡觉检测(不清楚最近版本的改动"早上也能使用床"会不会增加此分数,自己留意一下)
scoreboard objective add minecraft.custom:minecraft.sleep_in_bed sleepcount
execute if score @a sleepcount matches 1.. run time add <时间差>
*时间差为玩家睡觉时的时间减去起床时的时间,时间关系没有写...
还有睡觉分数归位
scoreboard players reset @a[scores={sleepcount=1..}]
能睡觉,自然就能刷新修仙蝠的生成了
⊙u⊙ 发表于 2019-11-11 11:24
1秒=20tick
可以每隔一段时间就给当天时间加速几个tick/sec,以此做到夜长昼短
以缩短早上时间为例(反之同 ...
额...这讲得我不是很明白该怎么弄....
むらさき 发表于 2019-11-10 19:29
额...这讲得我不是很明白该怎么弄....
哪里不明白?
本帖最后由 我就冒个泡 于 2019-11-17 18:38 编辑
修改日月循环游戏规则即可
指令:/gamerule doDaylightCycle false/true
false(停止日月循环),true(启用日夜循环)
如果需要更改时间,使用/time指令即可
如过想达到昼短夜长,可以在白天时使用循环命令方块+/time add <增加tick数>(较大)
在夜晚使用循环命令方块+/time add <增加tick数>(较小)tick数越大,时间流动速度越快
可以用阳光传感器和一个非门控制
当阳光传感器输出能量时,启动一个命令方块,无输出能量时,利用非门启动另一个命令方块
请使用月光模式
望采纳0w0
修改日月循环游戏规则即可
指令:/gamerule doDaylightCycle false/true
false(停止日月循环),true(启用日夜循环)
如果需要更改时间,使用/time指令即可
如过想达到昼短夜长,可以在白天时使用循环命令方块+/time add <增加tick数>(较大)
在夜晚使用循环命令方块+/time add <增加tick数>(较小)tick数越大,时间流动速度越快
可以用阳光传感器和一个非门控制
当阳光传感器输出能量时,启动一个命令方块,无输出能量时,利用非门启动另一个命令方块
请使用月光模式
望采纳0w0
我就冒个泡 发表于 2019-11-17 17:38
修改日月循环游戏规则即可
指令:/gamerule doDaylightCycle false/true
false(停止日月循环),true(启 ...
也感谢了 哈哈 前天就已经是在使用这个方法了 简单粗暴
(本想就是用更高级点的来实现 但我还是处于远古阶段 搞不懂那些东西)
むらさき 发表于 2019-11-17 21:41
也感谢了 哈哈 前天就已经是在使用这个方法了 简单粗暴
(本想就是用更高级点的来实现 但我还是处于远古阶 ...
其实简单一点好,复杂的还会把游戏搞卡0w0