我的世界怎么禁止下雨?
这就要聊一聊雨的形成过程和我的世界的天气系统了(虽然我不知道我世界是否有精确的天气系统,但这一部分很值得研究) 先说结论:在我的世界中,没有绝对禁止降雨的代码。但是有让天空少云、不让云形成雨滴的代码。如果执行这些代码,天空会短暂转晴 详细分析: 我查阅了Jave源代码和指令列表,发现一个很有意思的事情,就是我在命令行里输入/weather clear时,游戏内并不会立即变成晴天,而是先变成了多云。只有过一段时间才会完全转变为晴天,有厚厚的云层缓缓飘过。也就是说,在我的世界中,阴天和雨天是通过时间累加的。而晴天则是直接生成的。 这似乎可以给楼主提供一种思路。如果能在初始化世界时,让天永远保持多云,那么是不是就可以把雨隔绝在世界之外了呢?!
为了验证这个猜想,我用命令/weather clear清空了一个已经存在了300多个世界的服务器。果然,在之后的游戏进程中,无论我怎么输入/rain,游戏内的降雨都消失了。世界仍然是一片晴朗。 但这时出现了另一个问题。那就是在我的世界的实际运行中,即使不输入任何指令,天气也会慢慢由阴天变为雨天,最后形成大雨倾盆的效果。这说明在我的世界中,必然有一个“自动降雨”的过程,不管这个机制是否有效(因为我把所有水都清除了)。 为了找出这个“自动降雨”过程的入口,我开始搜索所有的指令列表,看能不能找到有关降雨的指令。果然,我发现在命令列表的最后,有两条类似bug的描述,其中一条就是这样: 在我的世界中,如果设置温度为1000,并有阳光照射,一段时间后,无论是否输入指令,天气都会逐渐转雨。而且此条指令执行完成后,如果删除客户端配置文件中的一个名为world.weather的数组项,再重新加载世界,则天气会恢复到晴天。也就是说,这条指令每执行一次,就会增加一天的时间,使天气向降雨转化一点。只要不删除此项,天气就会一直持续下去。 只要不输入/weather rain或者/weather thunder,就能让雨水维持在不会落下的临界值上。达到“不下雨”的目的。