Chunk lifecycle events with chunk systems that replace vanilla's (e.g. Moonrise)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 15/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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?
- Langage dominant
- Java
- Étoiles
- 181
- Forks
- 41
- Merge moyen
- 16 h 38 min
- PR mergées (30 j)
- 1
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Sinytra/ForgifiedFabricAPI
-
1.21.x bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Sinytra/ForgifiedFabricAPI#276 ·
-
1.21.x bug
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
Sinytra/ForgifiedFabricAPI#269 ·
-
1.21.x bug
Difficulté 3/5 1-2 jours Accessibilité débutants 53/100
Sinytra/ForgifiedFabricAPI#267 ·
-
1.21.x bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
Sinytra/ForgifiedFabricAPI#265 · 6 commentaires ·
-
1.21.x bug
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Sinytra/ForgifiedFabricAPI#263 · 2 commentaires ·
Toutes les issues de Sinytra/ForgifiedFabricAPI
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 3 jours
-
A proxy that fails to start logs a RejectedExecutionException stack trace from its shutdown hookOuvertefollow-up
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Sanne/incus-spawn#1953 ·
Les mainteneurs répondent en général sous 1 jour
-
Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
HexaHexes/ability-battlewills#37 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Shweit/EtherealPortals#30 ·