Files
Cites_Plugins/src/main
Antone Barbaud 923f48ffc7 refactor: split team/player/message into impl/ and exception/ subpackages
Each domain now has:
- Top-level package: contracts (interfaces, entities, enums, values, events).
- exception/ subpackage: exception hierarchy.
- impl/ subpackage: implementations CR-Core ships by default, swappable by
  a game plugin if needed.

Moved (FQN changes for consumers):
- fr.luc.crcore.team.TeamException (+ AlreadyExists, NotFound, Access)
    → fr.luc.crcore.team.exception.*
- fr.luc.crcore.team.TeamServiceImpl, BukkitEventFiringTeamServiceImpl,
  InMemoryTeamRepository, SqliteTeamRepository
    → fr.luc.crcore.team.impl.*
- fr.luc.crcore.player.PlayerException, PlayerProfileNotFoundException
    → fr.luc.crcore.player.exception.*
- fr.luc.crcore.player.PlayerProfileServiceImpl,
  BukkitEventFiringPlayerProfileServiceImpl,
  InMemoryPlayerProfileRepository, SqlitePlayerProfileRepository
    → fr.luc.crcore.player.impl.*
- fr.luc.crcore.message.YamlMessagesService
    → fr.luc.crcore.message.impl.YamlMessagesService

Unchanged top-level packages: database/, command/, common/ (already small
and well-organized). Events stay where they were (already in event/
subpackages).

setup.md tree updated to reflect the new layout. decisions.md logs the
rationale (consumer-facing FQNs, separation between contract and impl).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-10 10:54:35 +02:00
..