偽和平功能失效
服务端版本 LophineMC Version
1.21.7
预期的行为 Expected behavior
開啟後應該要可以壓制整個世界怪物生成。
观测到的实际行为 Observed/Actual behavior
偽和平只能壓制大約3000格內的範圍,只要玩家去到距離裝置更遠的區域例如10萬格以外,偽和平效果消失。
复现步骤 Steps/models to reproduce
插件与数据包列表。 Plugin and Datapack List.
無
更多详细信息。 The more information.
No response
意料内的结果,因为调度器间独立,每个伪和平仅可管理本调度器内的生物生成
意料内的结果,因为调度器间独立,每个伪和平仅可管理本调度器内的生物生成
是否将来有修复的打算,比如像是paper一样可以更改
意料内的结果,因为调度器间独立,每个伪和平仅可管理本调度器内的生物生成
是否将来有修复的打算,比如像是paper一样可以更改
修是有打算的,在等地球回复准备是在Luminol上修还是在这里修
此外補充觀察到當區塊強加載內有怪物時玩家切換成觀察者狀態或者直接離開,該強加載區塊內怪物並不會消失即使怪物距離最近的玩家有1000格遠。
try 376857ff97c9228304b2196b6adae297b28edfb5
由于处于实验性阶段,如果在使用过程中发现任何问题,请反馈
我測試了一下,怪物處在A玩家加載的區塊內(假設500隻),B玩家區域不管再多遠的位置都會受到A玩家區域的怪物上限而不會生成怪物,這是功能正常的。
但是當500隻怪物不由玩家加載改由區塊加載(地獄門加載)則直接失效,只有當玩家自行至地獄門加載器加載後不透過TP等手段,慢慢遠離可以保持偽和平持續透過區塊加載器開啟。應該也跟上面提到的調度器問題有關,玩家載入的區塊跟地獄門加載器兩者的調度不同導致。
玩家A 與玩家B如果處在不同區域(同個世界),當玩家A切換成觀察者模式下理論上玩家A周圍的怪物必須瞬間消失,因為受到怪物距離B玩家超過128格以外,但實際情況是切換後怪物依然存在,也一樣像上面提到的如果當AB玩家處於同個調度器內這個問題就消失了。
我測試了一下,怪物處在A玩家加載的區塊內(假設500隻),B玩家區域不管再多遠的位置都會受到A玩家區域的怪物上限而不會生成怪物,這是功能正常的。
但是當500隻怪物不由玩家加載改由區塊加載(地獄門加載)則直接失效,只有當玩家自行至地獄門加載器加載後不透過TP等手段,慢慢遠離可以保持偽和平持續透過區塊加載器開啟。應該也跟上面提到的調度器問題有關,玩家載入的區塊跟地獄門加載器兩者的調度不同導致。
玩家A 與玩家B如果處在不同區域(同個世界),當玩家A切換成觀察者模式下理論上玩家A周圍的怪物必須瞬間消失,因為受到怪物距離B玩家超過128格以外,但實際情況是切換後怪物依然存在,也一樣像上面提到的如果當AB玩家處於同個調度器內這個問題就消失了。
猜测应该是paper重写的逻辑造成,paper和spigot重写了不少生物生成逻辑(主要用于插件API),后面有空我再看看怎么修吧