Overview
Releases (4)
Versions (4)
Reviews (0)
### Architecture: Shared API Classes Moved To Core
- Moved `BotProfile`, `Personality`, `ActivityLevel`, `ChatFrequency`, `SleepSchedule`, `ProfileApi`, and `ProfileService` into the core plugin at `me.bill.fakePlayerPlugin.api.personality` to fix `NoClassDefFoundError` caused by per-extension `URLClassLoader` isolation
- `fpp-personality` extension retains only the implementation (`ProfileServiceImpl`, `ProfileStorage`, Bukkit events)
- All 6 dependent extensions updated to import from `me.bill.fakePlayerPlugin.api.personality.*` instead of `me.bill.fpppersonality.*`
### Fixed
- **Build output**: Jars now land in `fpp-extensions/builds/` (was resolving to workspace root `../builds/`)
- **Load ordering**: `FPP-Personality` loads first (priority 0) so dependents (`FPP-AIChat`, `FPP-Chat`, `FPP-Peaks`, `FPP-Skin`, `FPP-Swap`) find it at registration time
- **Build reliability**: Root `:build` now explicitly depends on all extension `:build` tasks so `copyExtension` finalizers always run after `cleanAll`
- **Spoof bundle reliability**: `copySpoof` changed from `finalizedBy` to `dependsOn` on `:build` so `fpp-spoof-1.2.1.jar` is always produced
### Changed
- Build output path: `fpp-extensions/builds/` (was workspace root `builds/`)
- Core dependency: `fake-player-plugin-1.6.6.12.8-all.jar` (was `fpp.jar`)
- `cleanAll` deletes `fpp-extensions/builds/` instead of workspace root `builds/`
### Removed
- Removed dead module source: `fpp-command/`, `fpp-groups/`, `fpp-list/`, `fpp-nametag/`, `fpp-waypoints/`
- Removed `compileOnly(project(":fpp-personality"))` cross-extension dependency from root `build.gradle.kts`
- Removed duplicate API classes from `fpp-personality` extension source