TownyAdvanced / TownyFlight

Flight plugin for Towny servers.
https://townyadvanced.github.io/
Other
23 stars 17 forks source link

Allow forcing flight #61

Closed Seggan closed 2 years ago

Seggan commented 2 years ago

I have a plugin that has an item allowing flight. However, when I leave a town, it deactivates my flight, even though I did not use TownyFlight to start flying. This addition to the API allows other plugins to force allow flight, essentially allowing flight anywhere.

LlmDl commented 2 years ago

Thanks for the PR, I like it.

LlmDl commented 2 years ago

Just an FYI: this PR broke TownyFlight from starting up:

[12:51:02] [Server thread/ERROR]: Error occurred while enabling TownyFlight v1.8.3 (Is it up to date?)
java.lang.ExceptionInInitializerError: null
    at com.gmail.llmdlio.townyflight.TownyFlight.onEnable(TownyFlight.java:29) ~[TownyFlight-1.8.3.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:500) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.18.1.jar:git-Paper-81]
    at org.bukkit.craftbukkit.v1_18_R1.CraftServer.enablePlugins(CraftServer.java:477) ~[paper-1.18.1.jar:git-Paper-81]
    at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:727) ~[paper-1.18.1.jar:git-Paper-81]
    at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:503) ~[paper-1.18.1.jar:git-Paper-81]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:313) ~[paper-1.18.1.jar:git-Paper-81]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1202) ~[paper-1.18.1.jar:git-Paper-81]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.18.1.jar:git-Paper-81]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Plugin cannot be null
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) ~[guava-31.0.1-jre.jar:?]
    at org.bukkit.NamespacedKey.<init>(NamespacedKey.java:72) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
    at com.gmail.llmdlio.townyflight.TownyFlightAPI.<clinit>(TownyFlightAPI.java:31) ~[TownyFlight-1.8.3.jar:?]
    ... 12 more

Because plugin was not initialized yet, I've fixed it already in https://github.com/TownyAdvanced/TownyFlight/commit/b056f96fe7fb9f3393645f1d72971182ba8575de.