Minecraft-Java-Edition

從伺服器控制台更改遊戲規則無效

  • August 5, 2021

我實現了一個數據包,它根據目前在伺服器上玩的玩家的偏好更改某些遊戲規則,例如 mobGriefing 或 doInsomnia。數據包在一個可實現的測試世界中工作,但是當我將它放在伺服器上時,遊戲規則的更改沒有任何效果。

如果我用伺服器控制台檢查遊戲規則的目前狀態,如果我在遊戲中更改我的偏好,遊戲規則就會改變。但是,如果用伺服器聊天和 OP-Account 檢查相同的內容,則沒有任何變化。聊天的輸出似乎是正確的。

測試

我用 mobGriefing 對此進行了測試。我是唯一線上玩家,所以如果我使用數據包更改我的偏好,它們會立即生效。

  • 我開始時沒有設置偏好。true所以 mobGriefing在控制台和聊天中都設置為預設值,即。
  • 如果我現在將偏好設置為false,則遊戲規則應切換為 false。
  • 但它只在控制台上這樣做了。(忽略伺服器重啟,它沒有改變任何東西)

左邊是伺服器控制台,右邊是遊戲

  • 它在遊戲中沒有任何影響。我用爬行者測試了它。

伺服器在 Java 1.16.4 的 spigot 上執行。我對 spigot 沒有太多經驗,但我非常了解命令和功能。

你有什麼想法,是什麼原因造成的,或者如何解決?

Spigot 遊戲規則是特定於世界的。下載Multiverse外掛和/mv gamerule mobGriefing false world_the_nether.

您說您將值更改為“False”

該值必須為小寫,如“false”與“true”相同。

只是一個錯字,實際上不是問題

引用自:https://gaming.stackexchange.com/questions/384384