Modules
Each page covers one area of StoneLib: what it is for, its full public API, a worked example, and the behaviour worth knowing before you rely on it. All classes live under dev.anchorlight.stonelib.
| Page | Classes |
|---|---|
| Commands | command.CommandRouter, command.SubCommand |
| Configuration | config.ConfigManager, config.MultiConfigManager, config.ConfigUpdater, ConfigValidator, CopyResources (deprecated) |
| Messages | message.MessageService, message.MiniMessages, message.UntrustedText, message.LegacyColorConverter |
| Storage | storage.Repository, storage.RecordCodec, storage.YamlRepository, storage.SqliteRepository, storage.LocationCodec |
| MySQL | storage.sql.DatabaseConfig, storage.sql.ConnectionPool, storage.sql.SchemaMigrator, storage.MySqlRepository |
| Scheduler | scheduler.SchedulerService |
| Cooldowns | cooldown.CooldownService |
| Menus | menu.MenuHolder, menu.MenuListener, ItemBuilder |
| Dialogs | dialog.FormDialog, dialog.FormResponse |
| Holograms | hologram.HologramService |
| Loot Tables | loot.LootTable |
| Durations | time.Durations |
| Permissions | permission.PermissionService |
| Cross-Server Messaging | messaging.MessageBus, messaging.Message, messaging.proxy.ProxyMessageRelay |
| Render Loop | render.RenderLoop, render.Renderable, render.RenderContext |
Which modules depend on which
Most modules stand alone. The exceptions:
ConfigManager,MultiConfigManager, andMessageServiceall update their files throughConfigUpdater.MySqlRepositoryneeds aConnectionPool, andSchemaMigratordoes too.RenderLoopneeds aSchedulerService.PermissionServiceneeds the LuckPerms plugin for grants, but its cached lookups work without it.ProxyMessageRelayneeds Velocity, and is only ever loaded on a proxy.