-
-
Notifications
You must be signed in to change notification settings - Fork 306
Folia Support #3363
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
Folia Support #3363
Conversation
This PR implements Folia support in FastAsyncWorldEdit and even reintroduces `//regen` into Folia, which was thought to be impossible or extraordinarily difficult to achieve. I have gone ahead and tested this comprehensively on a 100-200 player Duels server against Folia that creates and removes schematics at all times. Before this, various commands, including extensions (e.g., copying an entity), have been tested and verified to work, along with some basic testing across every possible NMS version FastAsyncWorldEdit supports. Let me know if any changes are absolutely required!
This is a thoroughly tested version of WorldEdit against Folia. Not only does it introduce the fundamentals that other forks have offered, but it also provides the ability to utilize `-e` tags, butchering entities, and even the `//regen` command on Spigot, Paper, and Folia alike. That said, this pull request is ready for review, so critical changes (if needed) can be made to ensure Folia is sufficient and prepared for WorldEdit upstream. This was also done for FastAsyncWorldEdit: IntellectualSites/FastAsyncWorldEdit#3363
|
#2682 explains the rules about Folia contributions. |
I appreciate your concerns; however, I tried my very best to keep FAWE’s code changes minimal and tried my best to adhere to your guidelines as best as possible. If this isn’t what you’re asking for then what is being asked of? I spent a really long time testing and preparing this fork and specific examples of what isn’t ideal would be best and/or alternatives. Part of the reason why this PR is so large is due to the nature of FAWE’s NMS classes for various tasks/operations, so it’s effectively impossible to distinguish what the best approach is towards implementing Folia wholesale. To me it seems impossible to even attempt Folia if this format is not considered acceptable. TL;DR: It is impossible to create a completely Folia-ready FAWE without writing to specific NMS classes. |
|
A few of the relevant points:
Your code includes (but isn't limited to) the following problems:
If you are willed to work hard for a long time with no guarantees of any results, you can ping me on Discord and we can find a way how we can get my PR (and before that, the v3 branch) up-to-date and work from there. If it's not possible to do this in small steps, it most likely is the wrong approach. |

This PR implements Folia support in FastAsyncWorldEdit and even reintroduces
//regeninto Folia, which was thought to be impossible or extraordinarily difficult to achieve. I have gone ahead and tested this comprehensively on a 100-200 player Duels server against Folia that creates and removes schematics at all times. Before this, various commands, including extensions (e.g., copying an entity), have been tested and verified to work, along with some basic testing across every possible NMS version FastAsyncWorldEdit supports. Let me know if any changes are absolutely required!Misc. change: For fresh users, the plugin fails to compile. I went ahead and resolved this in the very first change by migrating to Adoptium.
Additional note: against FAWE, capturing states is required against reflection and cannot be directly referenced
Supersedes: #2682 & #2309
Resolves: #2297
This was also done for WorldEdit: EngineHub/WorldEdit#2848