MilkBowl / Vault

Vault of common APIs for Bukkit Plugins
GNU Lesser General Public License v3.0
495 stars 350 forks source link

Support Folia #914

Closed YuanYuanOwO closed 1 year ago

YuanYuanOwO commented 1 year ago

https://paste.helpch.at/ecujuyekir.php

repo link:https://github.com/PaperMC/Folia

Geolykt commented 1 year ago

Hello! The link you provided does not work at the moment (this is something on the host's side though - not your fault directly). As such I have to assume that Folia can run Vault without issues and that this issue was opened preemptively. Should Folia not be able to run Vault, please report it to them - It'd be a strange sight to know that they are breaking a plugin as tame as vault.

YuanYuanOwO commented 1 year ago

Hello! The link you provided does not work at the moment (this is something on the host's side though - not your fault directly). As such I have to assume that Folia can run Vault without issues and that this issue was opened preemptively. Should Folia not be able to run Vault, please report it to them - It'd be a strange sight to know that they are breaking a plugin as tame as vault.

i think so
anyway thanks for reply oh wait a sec

[14:29:38] [Server thread/INFO]: [Vault] Enabling Vault v1.7.3-b131
[14:29:38] [Server thread/INFO]: [Vault] [Permission] SuperPermissions loaded as backup permission system.
[14:29:38] [Server thread/ERROR]: Error occurred while enabling Vault v1.7.3-b131 (Is it up to date?)
java.lang.UnsupportedOperationException: null
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.handle(CraftScheduler.java:536) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:236) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:212) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:176) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTask(CraftScheduler.java:145) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.milkbowl.vault.Vault.onEnable(Vault.java:146) ~[Vault.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:192) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:631) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:542) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:274) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1190) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:347) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
[14:29:38] [Server thread/INFO]: [Vault] Disabling Vault v1.7.3-b131
[14:29:38] [Server thread/ERROR]: Error occurred (in the plugin loader) while disabling Vault v1.7.3-b131 (Is it up to date?)
java.lang.UnsupportedOperationException: null
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.handle(CraftScheduler.java:536) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.cancelTasks(CraftScheduler.java:349) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.milkbowl.vault.Vault.onDisable(Vault.java:122) ~[Vault.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:227) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugin(PaperPluginManagerImpl.java:109) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:537) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:196) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:631) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:542) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:274) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1190) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:347) ~[folia-1.19.4.jar:git-Folia-"b5237f8"]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Geolykt commented 1 year ago

I see. Yeah they even mention that plugin interop is at 0 - didn't pay enough attention with how the fork works.

This issue has merit I suppose (given that Folia is made by the paper team) but the question is how Folia support would look like. I guess it isn't much of an issue since the only task that relies on the CraftScheduler is updating. I suppose I could create a quick-and-dirty solution for you in the meantime - shouldn't be too hard

Geolykt commented 1 year ago

Okay I did a preliminary port to Folia: https://github.com/Geolykt/Vault/releases/tag/v1.7.3-folia. Code is available at https://github.com/Geolykt/Vault/tree/folia.