Interface ModerationService
- All Known Implementing Classes:
BukkitEventFiringModerationServiceImpl, ModerationServiceImpl
public interface ModerationService
Service de modération CR-Core. Orchestre l'entrée / sortie du mod mode,
le vanish et le freeze.
Mod mode
enter(Player): snapshot complet du joueur (ModerationState), vidage de l'inventaire, dotation de la hotbar avec les outils duModeratorToolRegistry, passage en SPECTATOR ou CREATIVE + vanish.- Pendant le mod mode, les outils sont actifs ; les actions du
joueur (drop item, déplacement d'item) sont bloquées par
ModerationListener. exit(Player): restauration intégrale du snapshot, retrait du vanish, retrait des outils.
Vanish
vanish(Player) cache le joueur de tous les autres joueurs
via Player.hidePlayer(org.bukkit.plugin.Plugin, Player).
Automatique à l'enter, retiré à l'exit. Peut être toggle pendant le
mod mode via le VanishToggleTool.
Freeze
freeze(UUID) marque un joueur comme gelé — son
PlayerMoveEvent est cancel par ModerationListener.
Stockage en mémoire (set d'UUIDs).
-
Method Summary
Modifier and TypeMethodDescriptionvoidenter(org.bukkit.entity.Player player) Basculeplayeren mod mode.voidexit(org.bukkit.entity.Player player) Fait sortirplayerdu mod mode et le restaure intégralement.voidBloqueplayerIdsur sa position courante (PlayerMoveEvent canceled).Registry des outils dotés dans la hotbar à l'enter.booleanbooleanisInModeration(UUID playerId) booleanisVanished(UUID playerId) voidvoidunvanish(org.bukkit.entity.Player player) voidvanish(org.bukkit.entity.Player player) Cache le joueur de tous les autres joueurs en ligne.
-
Method Details
-
enter
void enter(org.bukkit.entity.Player player) Basculeplayeren mod mode. Snapshot + équipement d'outils + vanish.- Throws:
ModerationAlreadyActiveException- si le joueur est déjà en mod mode.
-
exit
void exit(org.bukkit.entity.Player player) Fait sortirplayerdu mod mode et le restaure intégralement.- Throws:
ModerationNotActiveException- si le joueur n'est pas en mod mode.
-
isInModeration
-
getState
-
getActiveModerators
-
vanish
void vanish(org.bukkit.entity.Player player) Cache le joueur de tous les autres joueurs en ligne. -
unvanish
void unvanish(org.bukkit.entity.Player player) -
isVanished
-
getVanishedPlayers
-
freeze
BloqueplayerIdsur sa position courante (PlayerMoveEvent canceled). -
unfreeze
-
isFrozen
-
getFrozenPlayers
-
getToolRegistry
ModeratorToolRegistry getToolRegistry()Registry des outils dotés dans la hotbar à l'enter. Un game plugin peut y ajouter ses outils custom avantenter(Player).
-