WorldGuard icon indicating copy to clipboard operation
WorldGuard copied to clipboard

Add Folia Support;

Open HarvelsX opened this issue 2 years ago • 13 comments

Adds basic support for Folia with the new scheduler system.

Requirements Checklist

  • [x] Create an adapter interface for new schedulers and implementations.
  • [x] Implement region-specific, entity-specific task runs.
  • [x] Rework SchedulerReport, but currently disable it for Folia;
  • [ ] Tested: needs detailed testing.

HarvelsX avatar Jun 08 '23 20:06 HarvelsX

Does this retain Spigot support, as well as actually work given WorldEdit isn't marked as supporting Folia?

me4502 avatar Jun 09 '23 10:06 me4502

Spigot support

At the moment it should retains, but if Folia removes BukkitScheduler, either reflections or a separate module will have to be used.

WorldEdit isn't marked as supporting Folia

In my case, the FastAsyncWorldEdit test build is used.

For the short test was used:

This server is running Paper version git-Paper-549 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: bc4a664)

HarvelsX avatar Jun 09 '23 13:06 HarvelsX

How does this handle accessing region data structures in parallel??

Kadeluxe avatar Jun 12 '23 11:06 Kadeluxe

2. I'm not happy with the removed paper-api dependency. Our suggested platform is Paper, we should use paper as dependency. Folia adds some more methods and the bukkit module should never call them directly. This requires a new folia module.

Creating the same code in every plugin is not reasonable. Maybe adopting this in PaperLib would not be a bad thing.

HarvelsX avatar Jun 12 '23 13:06 HarvelsX

"Exit" and "Entry" flags do not work on Folia without throwing an exception. Perhaps this is caused by the use of Player#teleport, as Folia requires you to use teleportAsync

Anon8281 avatar Jun 26 '23 17:06 Anon8281

@Anon8281, it's kind of based on events/

HarvelsX avatar Jul 03 '23 01:07 HarvelsX

Could you guys provide temporary jar to test it?

Yomamaeatstoes avatar Jul 30 '23 19:07 Yomamaeatstoes

I am sure you guys are aware of this, but someone told me the " it was one of the build.gradle.kts files " is incompatible in this PR. Once it is fixed it will be buildable. I have a test build that someone made for me, and I don't have access to make any commits here. However, with your permission I can post the jar here.

Yomamaeatstoes avatar Jul 30 '23 21:07 Yomamaeatstoes

Hey folks, are you aware of the issue with one of the build.gradle.kts files that is currently preventing successful building? Thanks in advance!

Loving11ish avatar Jul 30 '23 22:07 Loving11ish

@Yomamaeatstoes and @Loving11ish, fixed buggy rebase/

HarvelsX avatar Aug 01 '23 00:08 HarvelsX

It works completely fine

Yomamaeatstoes avatar Aug 01 '23 11:08 Yomamaeatstoes

It works completely fine

I have since edited this message. This works completely fine.

Yomamaeatstoes avatar Dec 05 '23 23:12 Yomamaeatstoes

@Anon8281, probably fixed, but there may be other problems.

HarvelsX avatar Jun 03 '24 16:06 HarvelsX