Dynmap: Missing API specification with 1.14.

Created on 2 Jul 2019  路  4Comments  路  Source: webbukkit/dynmap

Running on 1.14, seems to need an API specification in the plugin.yml.

[13:22:52] [Server thread/WARN]: Plugin dynmap v3.0-SNAPSHOT-215 does not specify an api-version.

All 4 comments

I know this is a nuisance bug, but I also know it only takes 30 seconds to fix. Please add version: 1.14 to the plugin.yml file so we don't have warnings on startup.

This is a bad idea. To keep plugins runnable on older versions, it's not recommended to add the A脺I string to the plugin.yml without creating several versions for different mc-versions.

We support old versions, and I'm not adding a new build just to make a message go away - sorry. Feel free to fork and build your own version, though - just don't distribute it! :)

You can just add api-version: 1.13 to plugin.yml and it would not give warnings in 1.14, nor it will show plugin as dynmap* in the plugin list.

This does not break compatibility with pre-1.13 versions because there are no api-version setting in the old versions already (Bukkit ignores not existing plugin.yml settings like Java's MANIFEST.MF file). I just installed dynmap v3.0 beta5 and it showed a warning like this, and i just changed the api-version to 1.14 and it worked. (I didn't test the map, it just does not give startup errors and i assume it works)

I just want you to add this to plugin so no more users will get this warning. If you put api-version: 1.14 it will not work on 1.13, but if you add api-version: 1.13 it will work on every version. (unless you use newly added 1.13 APIs in older versions, or you are not using the 1.13 API because if api-version is not specified Bukkit applies special compatibility things that obviously may slow down load time)

The warning does not appear on 1.14 if you put api-version: 1.13 because nothing much is changed between (well many things changed in the background) 1.13 and 1.14. If spigot makes a new move and increases the api-version limit, then you will have to adapt it as well.

So, the downsides of not having the api-version is..

  • It slows down the load time because Bukkit applies special mapping compatibilty thingy that reads, parses and processes class files

  • In 1.14 (not 1.13 though) the plugin will give a warning like the issue specified in here - "Plugin x does not specify an api-version."

  • The plugin will show extra * character at the end of the name in 1.13 or 1.14. This applies to every location, e.g: "Enabling dynmap", "Disabling dynmap", "Plugins(1): dynmap*" etc.

  • I also think the warning will become an error in the future. It's always great to fix every error and warning in your server log. Sure, we can fix manually, the code is already compatible with 1.13 and 1.14, but, why it does not be the default behaviour and no more users get these warnings?

Many plugins adapted the api-version thingy, and make their api-version: 1.13 in the plugin.yml. Their plugins are still working from 1.8 to 1.14, and also probably even 1.7 if they want. I think this does not break old versions.

The code is already compatible with 1.13 and 1.14 and the project is modularized into versions, code per version, e.g "the nms abstraction" thing. So i think nothing will break when you add api-version: 1.13.

I just see this warning and i searched for issues like this before creating a new issue, sorry for the bump after 24 days.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

idlenexusgaming picture idlenexusgaming  路  4Comments

Blueeyestar picture Blueeyestar  路  3Comments

Marbel picture Marbel  路  3Comments

Military-Doctor picture Military-Doctor  路  3Comments

fuwwy picture fuwwy  路  3Comments