Skip to content

AbstractMenus/PlayerPointsAddon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

PlayerPointsAddon

Reference AbstractMenus addon that registers PlayerPoints as an economy provider under the id playerpoints. Once installed, menus can use PlayerPoints for takeMoney / giveMoney / hasMoney either explicitly per action or globally via AbstractMenus' config.conf.

This repo is also a template for anyone writing their own provider addon: the implementation is two source files plus a manifest, with rich javadoc walking through every contract decision.

This master branch holds no code. It exists only as a directory. Pick the branch that matches the delivery model you want, and continue reading there.

Pick a branch

Branch What it ships Drops into
as-plugin A standalone Bukkit/Paper plugin plugins/
as-addon A lightweight AM-loaded extension plugins/AbstractMenus/addons/

Both deliver identical runtime behaviour. They differ in how the jar is loaded:

as-plugin (Path 1) as-addon (Path 2)
Loaded by Bukkit AbstractMenus' AddonManager
Manifest plugin.yml (Bukkit YAML) addon.conf (HOCON)
Main class extends JavaPlugin + MenuExtension MenuExtension only (no-arg ctor)
Visible in /plugins Yes No
Visible in /am addons Yes (tagged [as-plugin]) Yes (with status, version, deps)
Reload at runtime /reload (whole server) /am addons reload PlayerPointsAddon
Per-jar classloader No (Bukkit shares one) Yes (AddonClassLoader, child-first)
Cross-plugin order guarantee Bukkit's depend: graph pluginDependencies: checked before instantiate
AbstractMenus API source GitHub Packages (PAT required) JitPack (anonymous)

When to pick which

  • Pick as-plugin when the addon also needs to be a real Bukkit plugin (registers events, owns commands, exposes its own API, depends on Bukkit-side ordering you don't want to re-derive).
  • Pick as-addon when the addon is purely an AM extension (provider bridge, custom action types, custom rule types) and you want hot reload, classloader isolation, and a cleaner namespace under /am addons instead of /plugins.

For a pure provider bridge like this one, both work. Browse both branches to compare - the diff between them is almost entirely the lifecycle boilerplate; the PlayerPointsEconomyHandler (the actual work) is byte identical in both.

Quick links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors