Interface ModeratorTool

All Known Implementing Classes:
ExitTool, FreezeTool, InventorySpyTool, TeleportRandomPlayerTool, VanishToggleTool

public interface ModeratorTool
Outil de la hotbar d'un modérateur (skeleton).

Chaque outil :

  • a une clé unique (getKey()) — utile pour identification,
  • occupe un slot fixe (getSlot(), 0..8) sur la hotbar,
  • fournit un icône ItemStack affiché dans ce slot,
  • répond à un click gauche, un click droit (en l'air ou sur un bloc), et à une interaction avec une entité.

Le routing est fait par ModerationListener sur les events Bukkit PlayerInteractEvent et PlayerInteractEntityEvent.

Skeleton : seul un set minimal d'outils est livré. Pour ajouter un outil custom, implémenter cette interface puis l'enregistrer via ModeratorToolRegistry.register(ModeratorTool) avant l'appel à ModerationService.enter(Player) (typiquement dans onEnable() du game plugin).

  • Method Summary

    Modifier and Type
    Method
    Description
    org.bukkit.inventory.ItemStack
    Construit l'icône à afficher (nouvelle instance à chaque appel).
    Clé unique de l'outil (ex.
    int
    Slot fixe sur la hotbar (0..8).
    default void
    onInteractEntity(org.bukkit.entity.Player moderator, org.bukkit.entity.Entity target)
    Appelé sur clic droit sur une entité (typiquement un joueur).
    default void
    onLeftClick(org.bukkit.entity.Player moderator)
    Appelé sur clic gauche en l'air ou sur un bloc.
    default void
    onRightClick(org.bukkit.entity.Player moderator)
    Appelé sur clic droit en l'air ou sur un bloc.
  • Method Details

    • getKey

      String getKey()
      Clé unique de l'outil (ex. "exit", "vanish", "freeze").
    • getSlot

      int getSlot()
      Slot fixe sur la hotbar (0..8). Les conflits sont gérés par ModeratorToolRegistry.
    • buildIcon

      org.bukkit.inventory.ItemStack buildIcon()
      Construit l'icône à afficher (nouvelle instance à chaque appel).
    • onLeftClick

      default void onLeftClick(org.bukkit.entity.Player moderator)
      Appelé sur clic gauche en l'air ou sur un bloc.
    • onRightClick

      default void onRightClick(org.bukkit.entity.Player moderator)
      Appelé sur clic droit en l'air ou sur un bloc.
    • onInteractEntity

      default void onInteractEntity(org.bukkit.entity.Player moderator, org.bukkit.entity.Entity target)
      Appelé sur clic droit sur une entité (typiquement un joueur).