How maevescz/dashman works
DashMan is a Paper/Bukkit server plugin for managing other plugins at runtime. A server command enters through the registered /dashman executor, is permission-checked and dispatched to a subcommand, which either inspects installed plugins or scans/changes plugin files and lifecycle state. The graph separates command routing, inspection, and lifecycle operations. Runtime command wiring and the sampled handlers are visible; scan/load metadata and dependency checks are implemented inside their handlers, while broader server behavior is delegated to Bukkit/Paper. unload currently disables the plugin rather than removing it from the server registry.
Main entry points: PluginManager.java Command router · DashMan.java DashMan entry · PluginLoader.java Plugin loader · ListCommand.java Plugin list
Components 15
Command routing
- DashMan entry
src/main/java/eve/DashMan.java - Command descriptor
src/main/resources/plugin.yml - Command router
src/main/java/eve/command/sub/PluginManager.java - Subcommand API
src/main/java/eve/command/sub/SubCommand.java
Plugin inspection
- Help command
src/main/java/eve/command/sub/HelpCommand.java - Plugin list
src/main/java/eve/command/sub/ListCommand.java - Plugin details
src/main/java/eve/command/sub/InfoCommand.java - JAR scanner
src/main/java/eve/command/sub/ScanCommand.java
Plugin lifecycle
- Plugin loader
src/main/java/eve/command/sub/PluginLoader.java - Enable / disable
src/main/java/eve/command/sub/PluginActive.java - Plugin reloader
src/main/java/eve/command/sub/PluginReloader.java - Plugin unloader
src/main/java/eve/command/sub/UnloadCommand.java
Other components
- Admin / sender
- Bukkit plugin manager
- Plugins directory
Connections 21
- Admin / sender → DashMan entry: issues command
- Command descriptor → DashMan entry: declares command
- DashMan entry → Command router: registers and wires
- DashMan entry → Bukkit plugin manager: registers executor
- Command router → Subcommand API: dispatches by API
- Command router → Help command: runs default
- Command router → Plugin list: dispatches
- Command router → Plugin details: dispatches
- Command router → JAR scanner: dispatches
- Command router → Plugin loader: dispatches
- Command router → Enable / disable: dispatches
- Command router → Plugin reloader: dispatches
- Command router → Plugin unloader: dispatches
- Plugin list → Bukkit plugin manager: reads plugin state
- Plugin details → Bukkit plugin manager: reads plugin details
- JAR scanner → Plugins directory: reads JAR files
- Plugin loader → Plugins directory: reads JAR and metadata
- Plugin loader → Bukkit plugin manager: checks dependencies; loads and enables
- Enable / disable → Bukkit plugin manager: looks up; enables or disables
- Plugin reloader → Bukkit plugin manager: looks up; disables and enables
- Plugin unloader → Bukkit plugin manager: looks up; disables