Chunk lifecycle events with chunk systems that replace vanilla's (e.g. Moonrise)
还没有人认领这个 Issue。
评估
调研方向
The events come from mixins into ChunkStatusTasks.full, ChunkMap.scheduleUnload and ChunkHolder.updateFutures, which Moonrise replaces. Read the existing chunk event mixins and how NeoForge's ChunkEvent.Load/Unload are posted. The open question is who owns dispatch, so agree on a design with maintainers before writing code. Done means the events fire once with other chunk systems installed.
由索引模型根据 Issue 内容生成。
描述
FFAPI fires ServerChunkEvents.CHUNK_LOAD, CHUNK_GENERATE, CHUNK_UNLOAD and FULL_CHUNK_STATUS_CHANGE from mixins into vanilla ChunkStatusTasks.full, ChunkMap.scheduleUnload and ChunkHolder.updateFutures. Moonrise replaces those code paths, so with Moonrise installed none of these events fire, and LoadedChunksCache stays empty (Tuinity/Moonrise#210). Moonrise does post NeoForge's ChunkEvent.Load/Unload.
On Fabric, Moonrise fires the Fabric API events itself. On NeoForge we're unsure where this should live. If Moonrise fires FFAPI's events and FFAPI later starts translating NeoForge's chunk events, everything would fire twice. If FFAPI translates NeoForge's events, the timing changes slightly: on plain NeoForge, ChunkEvent.Unload is posted after the chunk is saved, while Fabric API's CHUNK_UNLOAD fires before it. FULL_CHUNK_STATUS_CHANGE has no NeoForge equivalent either way.
How would you prefer to handle this, so these events work with other chunk systems without risking double dispatch?
- 主要语言
- Java
- 星标
- 181
- 派生
- 41
- 平均合并
- 16 小时 38 分钟
- 30 天内合并 PR
- 1
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Sinytra/ForgifiedFabricAPI 的其他 Issue
-
1.21.x bug
难度 4/5 3-5 天 新手友好度 45/100
Sinytra/ForgifiedFabricAPI#276 ·
-
1.21.x bug
难度 4/5 3-5 天 新手友好度 42/100
Sinytra/ForgifiedFabricAPI#269 ·
-
1.21.x bug
难度 3/5 1-2 天 新手友好度 53/100
Sinytra/ForgifiedFabricAPI#267 ·
-
1.21.x bug
难度 3/5 1-2 天 新手友好度 48/100
Sinytra/ForgifiedFabricAPI#265 · 6 条评论 ·
-
1.21.x bug
难度 4/5 3-5 天 新手友好度 35/100
Sinytra/ForgifiedFabricAPI#263 · 2 条评论 ·
查看 Sinytra/ForgifiedFabricAPI 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
a2aproject/a2a-java#1275 ·
维护者通常 1 天内回复
-
module/ftp Type/Bug
难度 2/5 1-3 小时 新手友好度 72/100
ballerina-platform/ballerina-library#9476 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
anwilli5/coin-collection-android-US#515 ·
维护者通常 1 天内回复
-
status: waiting-for-triage type: bug
难度 2/5 1-3 小时 新手友好度 72/100
spring-projects/spring-integration#11654 ·
维护者通常 1 天内回复
-
难度 2/5 1 小时以内 新手友好度 70/100
Vakore/ZappierGames#248 ·