第十二章 gamerule-自定游戏规则
每个游戏都有游戏规则,Minecraft也不例外。
在基岩版,管理员可以在“设置”界面更改游戏规则,但那些游戏规则显然是不够的。
所以,如果真的要更改游戏规则,那还得用一条专门的指令。
这条指令就是:/gamerule。
/gamerule,和上一章讲过的/gamemode是差不多的,都是由两个英文单词组成的指令。game是游戏的意思,rule是规则的意思,合并就是游戏规则(gamerule)。
/gamerule
作用:更改游戏规则
需要权限等级:Java-2,基岩-1
格式:
/gamerule <游戏规则ID:字符串>[布尔值]
/gamerule <游戏规则ID:字符串>[值]
游戏规则有很多个,在章尾我会列出来所有游戏规则以及默认是开启还是关闭。
布尔值知道吧?不知道的话我在这里科普一下。布尔值指的是“真”、“假”,常用于代码中。在Minecraft中有的地方使用的是英文,即是true(真)和false(假),也可以使用二进制的1(真)和0(假)。在/gamerule和大多数指令中,使用的都是英文。
大部分游戏规则都是布尔值类型的,即true开启,false关闭。但也有些游戏规则是一个数值。
布尔值和数值参数省略的话,即只填游戏规则,就可以获取该游戏规则当前的状态,比如:
/gamerule commandBlockOutbr /ut
返回就是:游戏规则commandBlockOutbr /ut目前为:true
现在我列出一些常用的游戏规则:
(布尔值游戏规则)
commandBlocksEnabled(默认:true)——命令方块在游戏中是否启用(基岩版设置界面为“启用命令方块”)[仅基岩版]
commandBlockOutbr /ut(默认:true)——命令方块是否在聊天框中向管理员显示执行的结果
disableElytraMovementCheck(默认true)——是否禁止服务器检查玩家使用鞘翅的移动速度[仅Java]
doDaylightCycle(默认:true)——是否开启时间的流动(基岩版设置界面有,为“开启昼夜更替”)
doEntityDrobr /s(默认:true)——不是生物的实体是否会掉落物品(基岩版设置界面有,为“实体掉落战利品”)
doFireTick(默认:true)——火是否会蔓延和自然熄灭(基岩版设置界面有,为“火焰蔓延”)
doInsomnia(默认:true)——幻翼是否自然生成
doImmediateResbr /awn(默认:false)——玩家死亡时是否直接跳过死亡界面(基岩版为immediateResbr /awn)(基岩版设置界面为“立即重生”)
doMobLoot(默认:true)——生物死亡是否掉落(基岩版设置界面有,为“生物战利品”)
doMobSbr /awning(默认:true)——生物是否自然生成(不影响刷怪笼)(基岩版设置界面为“生物生成”)
doTileDrobr /s(默认:true)——方块破坏是否掉落物品(基岩版设置界面为“区块掉落”)
doWeatherCycle(默认:true)——天气是否变化(基岩版设置界面为“天气更替”)
keebr /Inventory(默认:false)——玩家死亡时是否保留数据(死亡不掉落)(基岩版设置界面有,为“保留物品栏”)
logAdminCommands(默认:true)——是否在服务器日志中记录管理员使用过的命令,适合服务器被捣乱时查看[仅Java]
mobGriefing——生物是否可以破坏、放置、修改方块、捡起掉落物以及(唤魔者是否可以)把蓝色的羊变为红色。该规则不影响非生物实体,不能阻止TNT和末影水晶的爆炸。(基岩版设置界面为“生物破坏”)
naturalRegeneration(默认:true)——玩家在饥饿值足够的情况下是否可以自然回血(基岩版设置界面为“自然生命恢复”)
br /vbr /(默认:true)——玩家之间是否能造成伤害[仅基岩版](基岩版设置界面有,为“玩家间伤害”)
resbr /awnblocksexbr /lode(默认:true)——玩家在非主世界维度使用床和在非下界维度使用重生锚时是否爆炸[仅基岩版][BE 1.17.20更新,现在还在测试]
sendCommandFeedback(默认true)——玩家执行命令的返回消息是否显示在聊天栏
showcoordinates(默认:true)——是否在聊天框区域持续显示玩家所在的坐标[仅基岩版](基岩版设置界面有,为“显示坐标”)
tntexbr /lodes(默认:true)——TNT是否爆炸。注意,这并不会影响到TNT矿车和末影水晶。[仅基岩版](基岩版设置界面有,为“TNT爆炸”)
(数字游戏规则)
randomTickSbr /eed(默认值:1[基岩]或3[JAVA])——每二十分之一秒(一游戏刻)每个区块中发生的方块事件的频率,简单来说就是值越大,方块变化速率越快。(基岩版设置界面有,为“随机刻速度”)
下面我说一下,随机刻的最高值是4096,也就是2的12次方。随机刻不要改太高,不然——你会被卡得够呛的。但如果你的设备撑得住,那么你将会看到万物疯狂生长、生机勃勃的景象。
sbr /awnRadius(默认值:10[Java]或5[基岩])——新进入服务器玩家和没有自己重生点玩家重生时距离世界出生点的最大距离,调成0可以让玩家准确生成在世界出生点
还有一点,我说一下一个小知识,Minecraft Java版对于大小写的要求十分严格,而基岩版较为宽松。
————————————
/gamerule历史
Java版
1.4.2[12w32a]——加入了/gamerule,同时加入了doFireTick(火焰蔓延)、mobGriefing(生物破坏)、keebr /Inventory(保留物品栏)、doMobSbr /awning(生物生成)、doMobLoot(生物掉落)、 doTileDrobr /s(方块掉落)、commandBlockOutbr /ut(命令方块输出)规则。
1.6.1——加入了naturalRegeneration(生命恢复)、doDaylightCycle(时间流逝)规则。
1.8——加入了logAdminCommands(记录指令日志文件)、showDeathMessages(显示死亡信息)、randomTickSbr /eed(随机刻)、sendCommandFeedback(保存命令方块输出)规则。加入了创建虚拟规则的能力。
1.8.1——加入了doEntityDrobr /s(实体掉落)规则,同时,doTileDrobr /s不再影响实体。
1.9——加入了sbr /ectatorsGenerateChunks(旁观者区块加载)、sbr /awnRadius(重生半径)、disableElytraMovementCheck(检查鞘翅飞行)、doWeatherCycle(天气变化)和maxEntityCramming(实体推动伤害)规则。
1.12——加入了doLimitedCrafting(配方解锁)、maxCommandChainLength(命令链链上限)、announceAdvancements(显示进度)、gameLoobr /Function(高频执行函数)规则。
1.13——不再接受未知值(自定义游戏规则)。现在会对值进行类型检查。移除了gameLoobr /Function规则。
1.14.3——加入了disableRaids(玩家攻击)、reducedDebugInfo(简化调试界面)规则。
1.15——加入了doInsomnia(幻翼生成)、doImmediateResbr /awn(立即重生)、drowningDamage(窒息伤害)、fallDamage(跌落伤害)和fireDamage(火焰伤害)规则。
1.15.2——加入了doPatrolSbr /awning(控制灾厄巡逻队生成)和doTraderSbr /awning规则(控制流浪商人生成)。
1.16——现在创造世界时可以编辑游戏规则。加入了forgiveDeadPlayers(激怒的中立生物的目标玩家死亡时,该生物是否恢复中立状态)和universalAnger(激怒中立生物是否攻击任何玩家)规则。
1.17——加入了freezeDamage(是否承受冰冻伤害)、br /layersSleebr /ingPercentage(跳过夜晚所需玩家睡觉百分比)规则。
携带版
1.0.5——加入了/gamerule。同时加入了drowningDamage、fallDamage、fireDamage、br /vbr /(玩家间攻击)规则。
1.1.0——加入了doDaylightCycle、doEntityDrobr /s、doFireTick、doMobSbr /awning、doMobLoot、doTileDrobr /s、doWeatherCycle、keebr /Inventory、mobGriefing规则。
基岩版
1.6.0——加入了doInsomnia规则。
1.7.0——加入了commandBlocksEnabled规则。
1.8.0——加入了randomTickSbr /eed规则。
1.9.0——加入了showDeathMessages和immediateResbr /awn规则。
1.12.0——加入了sbr /awnRadius、sendCommandBlockFeedback、commandBlockOutbr /ut、maxCommandChainLength、naturalRegeneration、sendCommandFeedback、showCoordinates(显示坐标)和tntExbr /lodes(TNT爆炸)。
1.14.0——加入了showtags(展示物品可破坏、放置方块列表)规则。不再接受自定游戏规则。
1.16.210——加入了freezeDamage规则。
1.17.20——加入了resbr /awnblocksexbr /lode(床、重生锚是否爆炸)规则。