Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Idea]: Folia support for Multiverse-Core #2901

Open
1 task done
Agaloth opened this issue Mar 29, 2023 · 8 comments
Open
1 task done

[Idea]: Folia support for Multiverse-Core #2901

Agaloth opened this issue Mar 29, 2023 · 8 comments
Labels
Type: Idea Suggestion for a new feature or enhancement. Type: Upstream Related to a dependency that MV relies on.

Comments

@Agaloth
Copy link

Agaloth commented Mar 29, 2023

Describe the feature

https://github.com/PaperMC/Folia

Here is a summary of everything made with ChatGPT to save some time:

For plugin developers, there are a few key takeaways from the given text:

  1. Folia introduces regionised multithreading, which means that plugins will require modification to function properly. Plugin developers should expect compatibility with existing plugins to be at zero.

  2. Folia introduces new API additions, such as the RegionisedScheduler and EntityScheduler, which can help plugins run on the correct thread context.

  3. To ensure compatibility with Folia, plugin developers must mark their plugin as compatible by placing "folia-supported: true" in the plugin.yml file. Additionally, plugins must take advantage of the RegionisedScheduler and EntityScheduler API to ensure correct behavior.

  4. Plugins should not assume that they can access or modify data in other regions, as Folia regions tick in parallel and do not share data. Plugin developers should take advantage of the upcoming thread-check API to ensure correct behavior.

  5. There are currently broken API, including the scoreboard API, and planned API changes, such as super aggressive thread checks, which may impact plugin development.

Overall, plugin developers should be prepared for significant changes in their plugins to ensure compatibility with Folia. They should take advantage of the new API additions and mark their plugin as compatible to ensure correct behavior. Additionally, they should be aware of the limitations and rules of Folia's regionised multithreading to avoid bugs and errors in their plugins.

How is the feature useful to all Multiverse users?

This will be really useful to server owners, as Folia is a game changer but most plugins don't support it yet since it just came out.

Agreements

  • I have searched for and ensured there isn't already an open issue regarding this.
@Agaloth Agaloth added the Type: Idea Suggestion for a new feature or enhancement. label Mar 29, 2023
@benwoo1110 benwoo1110 mentioned this issue Apr 4, 2023
1 task
@benwoo1110
Copy link
Member

I have taken a look at Folia, it looks amazing and promising, but its API is not stable enough for MV to add support. Fundamentally, world loading/unloading functions are still marked broken as of now.

@benwoo1110 benwoo1110 added the Type: Upstream Related to a dependency that MV relies on. label Apr 4, 2023
@Aitooor
Copy link

Aitooor commented Apr 26, 2023

I have taken a look at Folia, it looks amazing and promising, but its API is not stable enough for MV to add support. Fundamentally, world loading/unloading functions are still marked broken as of now.

In the end, will it be possible to add support?

@zax71
Copy link
Member

zax71 commented Apr 27, 2023

It depends if Foila adds world loading support. Then we could support it

@Aitooor
Copy link

Aitooor commented Apr 27, 2023

world loading support

I think they are implementing it now from what I see here PaperMC/Folia#63

@zax71
Copy link
Member

zax71 commented May 30, 2023

world loading support

I think they are implementing it now from what I see here PaperMC/Folia#63

Yea it looks like they merged the method into the main

Just a draft for now, it isn’t merged yet

@HarvelsX
Copy link

Oh, the plugin seems to rely on processing in the main thread, which makes adapting it for Folia a difficult task.

@LKD-PIX
Copy link

LKD-PIX commented Apr 29, 2024

Are there plans or Updates on this ?

@zax71
Copy link
Member

zax71 commented Apr 29, 2024

The PR was closed so I can’t see this happening any time soon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Idea Suggestion for a new feature or enhancement. Type: Upstream Related to a dependency that MV relies on.
Projects
None yet
Development

No branches or pull requests

6 participants