Developer Guide for Writing Folia Plugins #287

Closed
opened 2024-09-07 02:34:44 +02:00 by ghost · 1 comment
ghost commented 2024-09-07 02:34:44 +02:00 (Migrated from github.com)

Is your feature request related to a problem?
It's challenging for plugin developers to understand the do's and don'ts of writing a Folia plugin.

Describe the solution you'd like:
A guide for plugin developers, with code snippets for paper vs folia version of code and answering questions such as:

how is the thread for which a command is executed on decided? the region of executing player?
how is the thread which an event listener will run on decided? region of where the event took place?
how is the thread of a bukkit runnable decided? can it be changed or is it fixed from when it is created? What if the ticking region owning the runnable is destroyed?
Is there a way to use folia schedulers for folia servers but falling back to bukkit scheduler for regular paper servers?
What are tick thread locks? when do regions resize? will this cause issues if a region resizes while we are in the middle of something?

Is your feature request related to a problem? It's challenging for plugin developers to understand the do's and don'ts of writing a Folia plugin. Describe the solution you'd like: A guide for plugin developers, with code snippets for paper vs folia version of code and answering questions such as: how is the thread for which a command is executed on decided? the region of executing player? how is the thread which an event listener will run on decided? region of where the event took place? how is the thread of a bukkit runnable decided? can it be changed or is it fixed from when it is created? What if the ticking region owning the runnable is destroyed? Is there a way to use folia schedulers for folia servers but falling back to bukkit scheduler for regular paper servers? What are tick thread locks? when do regions resize? will this cause issues if a region resizes while we are in the middle of something?
ocelotpotpie commented 2025-12-25 04:27:48 +01:00 (Migrated from github.com)

This is likely better create on the docs repo:

https://github.com/PaperMC/docs

But not sure how long it would be before anyone can get to this.

This is likely better create on the docs repo: https://github.com/PaperMC/docs But not sure how long it would be before anyone can get to this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Minecraft/Folia#287
No description provided.