Skip to content

mrfdev/PluginVersions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PluginVersions           download-on-hangar download-on-spigot

PluginVersions creates an alphabetically sorted list of loaded plugins and their versions. This 1MB update also keeps a human-readable plugin inventory database, lets you curate plugin URLs over time, and exports Markdown reports for GitHub, Discord, or server documentation.

Tested Environment

This Paper build compiles against PaperMC 26.1.2 (paper-api:26.1.2.build.20-alpha) with Java 25. The generated plugin.yml declares api-version: 1.21.11 so the same jar can load on Paper 1.21.11 and Paper 26.1.2. The plugin reports version 2.0.0.

The plugin data folder is plugins/1MB-PluginVersions/.

The only root command is /pv. The long /pluginversions command is not registered; the namespaced command remains available as pluginversions:pv.

All commands can be executed from the console. In-game use requires the matching permission.

Build

gradle clean build

The compiled jar is written to libs/1MB-PluginVersions-v2.0.0-005-j25-26.1.2.jar.

Build metadata can be printed with:

gradle printBuildConfig

Test Server

Use the centralized Paper test-server runner from the Codex servers workspace. Do not use this repository's local /servers/ folder for new tests.

/Users/floris/Projects/Codex/servers/run-test-server --paper 1.21.11 --plugin libs/1MB-PluginVersions-v2.0.0-005-j25-26.1.2.jar --foreground
/Users/floris/Projects/Codex/servers/run-test-server --paper 26.1.2 --plugin libs/1MB-PluginVersions-v2.0.0-005-j25-26.1.2.jar --foreground

Commands

Command Description
/pv help [page|topic] Shows help pages.
/pv list [page] Lists loaded plugins and versions. Without a page, it lists every loaded plugin.
/pv reload Reloads config.yml and the active translation file.
/pv debug [page|topic] Shows status, plugin details, server details, counts, commands, permissions, placeholders, config, set, and URL pages.
/pv debug url add <plugin> <url> Stores a manual URL and infers the URL type.
/pv debug url add <plugin> <type> <url> Stores a manual URL with a custom type such as source, docs, or download.
/pv debug url del <plugin> [type] <url> Removes a stored manual URL.
/pv debug url list <plugin> Lists manual URLs stored for a plugin.
/pv debug url audit [page] Shows URL coverage for tracked plugins.
/pv config [page] Shows active configuration values.
/pv set <path> <value> Updates a known config.yml setting, saves it, and reloads the plugin settings. Filesystem paths are console-only.
/pv export [markdown|discord] Updates the database and writes timestamped plus stable latest export files.

Paged commands return No such page when the requested number is outside the available range.

Permissions

All permissions except pluginversions.help default to op.

Permission Description
pluginversions.* Grants every PluginVersions command and URL action.
pluginversions.help Allows access to help pages.
pluginversions.list Allows listing loaded plugins.
pluginversions.reload Allows reloading config and translations.
pluginversions.debug Allows viewing debug pages.
pluginversions.config Allows viewing active config values.
pluginversions.set Allows changing known config values.
pluginversions.export Allows exporting plugin inventory reports.
pluginversions.url.* Grants all manual URL database actions.
pluginversions.url.list Allows listing and auditing URL entries.
pluginversions.url.add Allows adding manual URL entries.
pluginversions.url.del Allows removing manual URL entries.

Placeholders

Language phrases live in translations/Locale_EN.yml and use MiniMessage. Legacy ampersand color codes are migrated at runtime if older values are found, but new phrases should use MiniMessage tags.

Language tokens include {name}, {display-name}, {internal-name}, {version}, {spacing}, {page}, {pages}, {count}, {enabled}, and {disabled}.

If PlaceholderAPI is installed, PluginVersions registers these placeholders:

Placeholder Result
%pluginversions_total% Loaded plugin count.
%pluginversions_enabled% Enabled plugin count.
%pluginversions_disabled% Disabled plugin count.
%pluginversions_database_tracked% Plugins currently tracked in the inventory database.
%pluginversions_version_<plugin>% Version for a loaded plugin.
%pluginversions_url_<plugin>_<type>% First matching detected or manual URL for a plugin and type.

Configuration

config.yml contains only operational settings and is fully commented. Player-facing phrases, command text, colors, and placeholders are kept in translations/Locale_EN.yml.

Anonymous metrics are disabled by default with settings.enable-metrics: false.

Update checks are disabled by default with check-for-updates: false.

The YAML database is stored at plugins/1MB-PluginVersions/plugins-database.yml by default. It tracks each plugin's display name, internal name, version, enabled state, description, authors, contributors, dependencies, provided plugins, website, detected URLs, manual URLs, and scan history.

database.file and exports.directory are filesystem paths and can only be changed from the console or by editing config.yml.

URL Database

Detected URLs come from plugin metadata such as website and description fields. Manual URLs are stored under manual-urls and are merged with detected URLs in exports.

Known inferred URL types include github, jenkins, modrinth, hangar, spigot, dev-bukkit, ci, and website. You can also provide your own type:

/pv debug url add LuckPerms source https://github.com/LuckPerms/LuckPerms
/pv debug url add LuckPerms download https://modrinth.com/plugin/luckperms

Exports

Exports are written to plugins/1MB-PluginVersions/exports/ by default.

Command Files
/pv export markdown plugins-YYYY-MM-DD-HHMMSS.md and plugins-latest.md
/pv export discord plugins-discord-YYYY-MM-DD-HHMMSS.md and plugins-discord-latest.md

Credits

PluginVersions credits mart-r, GabrielHD150, SlimeDog, and mrfloris as authors. Updates in this branch include implementation help from OpenAI.

About

List installed plugins and versions alphabetically

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 100.0%