Stargate Rewritten

Stargate Rewritten

241 Downloads

Backwards Compatibility

Pheotis opened this issue ยท 1 comments

commented

Background

We are currently using the 1.17 API.
As 1.17 has not been fully phased in by the community yet, it would be a good idea to support 1.16 as well.

Description

When a user runs the plugin on 1.16, they are met with an IPE.
We should probably add backwards compatibility to avoid this (at least to 1.16).

Trace

[08:50:38] [Server thread/ERROR]: Could not load 'plugins\Stargate-0.10.7.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Unsupported API version 1.17
	at org.bukkit.craftbukkit.v1_16_R3.util.CraftMagicNumbers.checkSupported(CraftMagicNumbers.java:361) ~[patched_1.16.5.jar:git-Paper-779]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:149) ~[patched_1.16.5.jar:git-Paper-779]
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:414) ~[patched_1.16.5.jar:git-Paper-779]
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:322) ~[patched_1.16.5.jar:git-Paper-779]
	at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:393) ~[patched_1.16.5.jar:git-Paper-779]
	at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:269) ~[patched_1.16.5.jar:git-Paper-779]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1069) ~[patched_1.16.5.jar:git-Paper-779]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-779]
	at java.lang.Thread.run(Thread.java:831) [?:?]

Repro Steps

  1. Start a 1.16 server with a fresh install of the latest stargate release (10.7).

Stargate has now disabled itself due to the IPE.

commented

What I know, this would mean we would have to do another refactor just for this. I could look into doing this for the complete refactor, but some things are best left untouched; Backwards compatibility would be nice, but it would make the project more complex and take up time. I generally think that if you want to use a version which works for 1.16, then there's always old versions that can one could use instead. (are those published?)