第15章 gamerule-自定游戲規則
- Minecraft指令手冊
- 你好MC
- 2390字
- 2020-01-05 12:19:53
每個游戲都有游戲規則,Minecraft也不例外。
在基巖版,管理員可以在“設置”界面更改游戲規則,但那些游戲規則顯然是不夠的。
所以,如果真的要更改游戲規則,那還得用一條專門的指令。
這條指令就是:/gamerule。
/gamerule,和上一章講過的/gamemode是差不多的,都是由兩個英文單詞組成的指令。game是游戲的意思,rule是規則的意思,合并就是游戲規則(gamerule)。
/gamerule
作用:更改游戲規則
需要權限等級:Java-2,基巖-1
格式:
/gamerule <游戲規則ID:字符串>[布爾值]
/gamerule <游戲規則ID:字符串>[值]
游戲規則有很多個,在章尾我會列出來所有游戲規則以及默認是開啟還是關閉。
布爾值知道吧?不知道的話我在這里科普一下。布爾值指的是“真”、“假”,常用于代碼中。在Minecraft中有的地方使用的是英文,即是true(真)和false(假),也可以使用二進制的1(真)和0(假)。在/gamerule和大多數指令中,使用的都是英文。
大部分游戲規則都是布爾值類型的,即true開啟,false關閉。但也有些游戲規則是一個數值。
布爾值和數值參數省略的話,即只填游戲規則,就可以獲取該游戲規則當前的狀態,比如:
/gamerule commandBlockOutput
返回就是:游戲規則commandBlockOutput目前為:true
現在我列出一些常用的游戲規則:
(布爾值游戲規則)
commandBlocksEnabled(默認:true)——命令方塊在游戲中是否啟用(基巖版設置界面為“啟用命令方塊”)[僅基巖版]
commandBlockOutput(默認:true)——命令方塊是否在聊天框中向管理員顯示執行的結果
disableElytraMovementCheck(默認true)——是否禁止服務器檢查玩家使用鞘翅的移動速度[僅Java]
doDaylightCycle(默認:true)——是否開啟時間的流動(基巖版設置界面有,為“開啟晝夜更替”)
doEntityDrops(默認:true)——不是生物的實體是否會掉落物品(基巖版設置界面有,為“實體掉落戰利品”)
doFireTick(默認:true)——火是否會蔓延和自然熄滅(基巖版設置界面有,為“火焰蔓延”)
doInsomnia(默認:true)——幻翼是否自然生成
doImmediateRespawn(默認:false)——玩家死亡時是否直接跳過死亡界面(基巖版為immediateRespawn)(基巖版設置界面為“立即重生”)
doMobLoot(默認:true)——生物死亡是否掉落(基巖版設置界面有,為“生物戰利品”)
doMobSpawning(默認:true)——生物是否自然生成(不影響刷怪籠)(基巖版設置界面為“生物生成”)
doTileDrops(默認:true)——方塊破壞是否掉落物品(基巖版設置界面為“區塊掉落”)
doWeatherCycle(默認:true)——天氣是否變化(基巖版設置界面為“天氣更替”)
keepInventory(默認:false)——玩家死亡時是否保留數據(死亡不掉落)(基巖版設置界面有,為“保留物品欄”)
logAdminCommands(默認:true)——是否在服務器日志中記錄管理員使用過的命令,適合服務器被搗亂時查看[僅Java]
mobGriefing——生物是否可以破壞、放置、修改方塊、撿起掉落物以及(喚魔者是否可以)把藍色的羊變為紅色。該規則不影響非生物實體,不能阻止TNT和末影水晶的爆炸。(基巖版設置界面為“生物破壞”)
naturalRegeneration(默認:true)——玩家在饑餓值足夠的情況下是否可以自然回血(基巖版設置界面為“自然生命恢復”)
pvp(默認:true)——玩家之間是否能造成傷害[僅基巖版](基巖版設置界面有,為“玩家間傷害”)
respawnblocksexplode(默認:true)——玩家在非主世界維度使用床和在非下界維度使用重生錨時是否爆炸[僅基巖版][BE 1.17.20更新,現在還在測試]
sendCommandFeedback(默認true)——玩家執行命令的返回消息是否顯示在聊天欄
showcoordinates(默認:true)——是否在聊天框區域持續顯示玩家所在的坐標[僅基巖版](基巖版設置界面有,為“顯示坐標”)
tntexplodes(默認:true)——TNT是否爆炸。注意,這并不會影響到TNT礦車和末影水晶。[僅基巖版](基巖版設置界面有,為“TNT爆炸”)
(數字游戲規則)
randomTickSpeed(默認值:1[基巖]或3[JAVA])——每二十分之一秒(一游戲刻)每個區塊中發生的方塊事件的頻率,簡單來說就是值越大,方塊變化速率越快。(基巖版設置界面有,為“隨機刻速度”)
下面我說一下,隨機刻的最高值是4096,也就是2的12次方。隨機刻不要改太高,不然——你會被卡得夠嗆的。但如果你的設備撐得住,那么你將會看到萬物瘋狂生長、生機勃勃的景象。
spawnRadius(默認值:10[Java]或5[基巖])——新進入服務器玩家和沒有自己重生點玩家重生時距離世界出生點的最大距離,調成0可以讓玩家準確生成在世界出生點
還有一點,我說一下一個小知識,Minecraft Java版對于大小寫的要求十分嚴格,而基巖版較為寬松。
————————————
/gamerule歷史
Java版
1.4.2[12w32a]——加入了/gamerule,同時加入了doFireTick(火焰蔓延)、mobGriefing(生物破壞)、keepInventory(保留物品欄)、doMobSpawning(生物生成)、doMobLoot(生物掉落)、 doTileDrops(方塊掉落)、commandBlockOutput(命令方塊輸出)規則。
1.6.1——加入了naturalRegeneration(生命恢復)、doDaylightCycle(時間流逝)規則。
1.8——加入了logAdminCommands(記錄指令日志文件)、showDeathMessages(顯示死亡信息)、randomTickSpeed(隨機刻)、sendCommandFeedback(保存命令方塊輸出)規則。加入了創建虛擬規則的能力。
1.8.1——加入了doEntityDrops(實體掉落)規則,同時,doTileDrops不再影響實體。
1.9——加入了spectatorsGenerateChunks(旁觀者區塊加載)、spawnRadius(重生半徑)、disableElytraMovementCheck(檢查鞘翅飛行)、doWeatherCycle(天氣變化)和maxEntityCramming(實體推動傷害)規則。
1.12——加入了doLimitedCrafting(配方解鎖)、maxCommandChainLength(命令鏈鏈上限)、announceAdvancements(顯示進度)、gameLoopFunction(高頻執行函數)規則。
1.13——不再接受未知值(自定義游戲規則)?,F在會對值進行類型檢查。移除了gameLoopFunction規則。
1.14.3——加入了disableRaids(玩家攻擊)、reducedDebugInfo(簡化調試界面)規則。
1.15——加入了doInsomnia(幻翼生成)、doImmediateRespawn(立即重生)、drowningDamage(窒息傷害)、fallDamage(跌落傷害)和fireDamage(火焰傷害)規則。
1.15.2——加入了doPatrolSpawning(控制災厄巡邏隊生成)和doTraderSpawning規則(控制流浪商人生成)。
1.16——現在創造世界時可以編輯游戲規則。加入了forgiveDeadPlayers(激怒的中立生物的目標玩家死亡時,該生物是否恢復中立狀態)和universalAnger(激怒中立生物是否攻擊任何玩家)規則。
1.17——加入了freezeDamage(是否承受冰凍傷害)、playersSleepingPercentage(跳過夜晚所需玩家睡覺百分比)規則。
攜帶版
1.0.5——加入了/gamerule。同時加入了drowningDamage、fallDamage、fireDamage、pvp(玩家間攻擊)規則。
1.1.0——加入了doDaylightCycle、doEntityDrops、doFireTick、doMobSpawning、doMobLoot、doTileDrops、doWeatherCycle、keepInventory、mobGriefing規則。
基巖版
1.6.0——加入了doInsomnia規則。
1.7.0——加入了commandBlocksEnabled規則。
1.8.0——加入了randomTickSpeed規則。
1.9.0——加入了showDeathMessages和immediateRespawn規則。
1.12.0——加入了spawnRadius、sendCommandBlockFeedback、commandBlockOutput、maxCommandChainLength、naturalRegeneration、sendCommandFeedback、showCoordinates(顯示坐標)和tntExplodes(TNT爆炸)。
1.14.0——加入了showtags(展示物品可破壞、放置方塊列表)規則。不再接受自定游戲規則。
1.16.210——加入了freezeDamage規則。
1.17.20——加入了respawnblocksexplode(床、重生錨是否爆炸)規則。