• 投稿

这下再也不愁甜浆果了【EID抑制器】

1.7万
4
2026-04-02 22:26:18
382
28
166
59
如果你不了解 EID 抑制器原理, 请看 BV1VU9nBUEuR。 版本为 26.1.1 这个诡异的甜浆果丛怎么来的:BV17HXfBZExx 因为甜浆果丛是先掉甜浆果,再改变当前age状态。 而每次生成掉落物时会被EID抑制,导致后续改变状态操作无法进行,因此可以无限获取甜浆果(只要你有足够多的常驻实体引发EID冲突,某种意义上来说也是看服务器承受能力)。 对于视频中的甜浆果掉落物在重启服务器后出现,我称之为"实体缓存", 如果你有看过我的BV1ZRQUBhEYu,可能会意识到什么。 是的,实际上,这两个视频各自"实体缓存"现象的底层原因是较为类似的。 也就是说,其实完全可以通过卸载和加载使实体重新出现,而不是重启服务器。 以下是我对本期视频"实体缓存"现象的原理解析: ------ 创建掉落物实体时,先是 new Entity() 构造成功,实体对象写入内存, 于 PersistentEntitySectionManager.addEntity() 下调用 EntitySection.add(entity) 成功,实体被保存在了EntitySection.storage 里,一个实体区段存储结构。 接着 visibleEntityStorage.add(entity) 成功,被保存到 EnitityLookup 中。一个用于实体的 EID/UUID 双索引查找表。 继续开始 Tracking,于 ChunkMap.addEntity() 时触发异常,未注册到网络追踪,使得客户端上不可见。后面同时未加入到 entityTickList 里,不进行 tick 操作。 服务器关闭时调用 PersistentEntitySectionManager.saveAll(),进行 storeChunkSections。保存逻辑是从EntitySection 里获取需要保存进文件里的实体。 重启后 EID Counter 重置, EntitySection 中实体存在,后续的加载操作自然也就正常了。 ------ Carpet TIS Addition: https://github.com/TISUnion/Carpet-TIS-Addition/tree/dev BGM: the perfect pair - beabadoobee Flight of the Bumblebee - Rimsky-Korsakov (arr. Rachmaninoff) (Piano Cover by Rousseau)
Just need more time.
接下来播放
自动连播
客服
顶部
赛事库 课堂 2021拜年纪