Helvetica Volubi

Results 42 comments of Helvetica Volubi

然后关于PlayerTeleportEvent的一些看法,实际上个人觉得,未进行深度适配的PlayerTeleportEvent也不适合folia这种多调度器的核心使用,因为这些事件需要多次跨线程来传输这些数据,对于folia的高线程安全来说就是不太可能,其次,PlayerTeleportEvent传出后,传递参数的线程并不会等待数据回传就直接处理后面的tick,所以可能导致回传时已经被释放了[Folia Issues #330](https://github.com/PaperMC/Folia/issues/330),但是暂时可能没有更好的解决办法

> > > 我直接换了支持 Folia的另一个插件 https://github.com/WarSkyGod/TPA 结果也是一样, src/main/java/top/craft_hello/tpa/events/TPAPlayerTeleportEvent.java 还是没跑, /back 也是废的。 这是专门给folia的插件,用PlayerTeleportEvent,虽然你说folia移除了,但luminol加回来依然没法正常用,这不是很奇怪吗 > > > > > > 我已经纠正了前面的话了,抱歉,前面重新检查了文件,luminol的另一个补丁移除了相关回传[patch0024](https://github.com/LuminolMC/Luminol/blob/60a82d9766c1088b121f0ee68526a11e2c592a0c/luminol-server/minecraft-patches/removed/0024-Fully-removed-player-teleport-event-and-entity-telep.patch) > > folia存在bug明白了,我是看 https://github.com/LuminolMC/Luminol/blob/60a82d9766c1088b121f0ee68526a11e2c592a0c/luminol-server/minecraft-patches/removed/0024-Fully-removed-player-teleport-event-and-entity-telep.patch 所以以为luminol移除的。 > > 所以现在的情况请问luminol这边能修复folia的这个问题吗还是有方法绕过? 不对啊,这个0024是在removed里面的,并没有使用啊,这个事件应该是好的啊,但取消事件的bug应该还是有

取消并不是事件取消报错,而是因该事件触发的事件的取消可能引发错误

Luminol中的PlayerTeleportEvent并不完整,有些传送事件并不会Call PlayerTeleportEvent,有可能你调用的传送并未Call PlayerTeleportEvent

意料内的结果,因为调度器间独立,每个伪和平仅可管理本调度器内的生物生成

> > 意料内的结果,因为调度器间独立,每个伪和平仅可管理本调度器内的生物生成 > > 是否将来有修复的打算,比如像是paper一样可以更改 修是有打算的,在等地球回复准备是在Luminol上修还是在这里修

try 376857ff97c9228304b2196b6adae297b28edfb5

由于处于实验性阶段,如果在使用过程中发现任何问题,请反馈

> 我測試了一下,怪物處在A玩家加載的區塊內(假設500隻),B玩家區域不管再多遠的位置都會受到A玩家區域的怪物上限而不會生成怪物,這是功能正常的。 > > 但是當500隻怪物不由玩家加載改由區塊加載(地獄門加載)則直接失效,只有當玩家自行至地獄門加載器加載後不透過TP等手段,慢慢遠離可以保持偽和平持續透過區塊加載器開啟。應該也跟上面提到的調度器問題有關,玩家載入的區塊跟地獄門加載器兩者的調度不同導致。 > > 玩家A 與玩家B如果處在不同區域(同個世界),當玩家A切換成觀察者模式下理論上玩家A周圍的怪物必須瞬間消失,因為受到怪物距離B玩家超過128格以外,但實際情況是切換後怪物依然存在,也一樣像上面提到的如果當AB玩家處於同個調度器內這個問題就消失了。 猜测应该是paper重写的逻辑造成,paper和spigot重写了不少生物生成逻辑(主要用于插件API),后面有空我再看看怎么修吧

这个你关早了,这个还需要考虑是否要写carpet的兼容