API table of contents
Every interface, class and enum in the public API, grouped the way you would use them.
Entry point
- VenusApi interface — the root object: ten services plus version and reload
- VenusAPIProvider class — how a plugin obtains the root object
- Loader hook — deferring work until Venus has finished starting
- Exceptions — the one exception the API declares
Server
- Server interface — identity, TPS, player count, config reload
- Monitor and Statistic — timing statistics for the hot paths
Commands
- Subcommands interface — register and enumerate /venus subcommands
- Subcommand class — the class a plugin extends
Events
- Events interface — dispatch and listener presence checks
- EventListenerRepository — register, unregister, count
- EventPriority enum — RUN_FIRST, NORMAL, RUN_LAST
- Event classes — every event Venus fires and what it carries
Checks
- CheckRegistry interface — catalog lookup and global toggles
- Check interface — one check, for one user or as a definition
- CheckType and PunishmentType — classification enums
Users
- UserRepository interface — lookup by UUID, entity id or name
- User interface — state, actions and shorthands
- ConfigOverride interface — per-session settings for one player
Outcomes
- PunishmentService interface — kick, ban, ban wave
- AlertService interface — alerts, verbose, brands, mitigations
- ExemptionService interface — exemptions and tolerance levels
- CloudService interface — cloud state, profiles, reconnect
- HistoryService interface — sessions, violations, counts
Learning by example
- Worked examples — four small plugins built on the API
Types outside this list
A few types appear in signatures but are not services: User records,RegisteredListener handles, the alert and history records, and the enums CheckType, PunishmentType, CloudCheckType, ToleranceLevel and EventPriority. They are documented on the page of whichever service returns them.