Class ModerationState

java.lang.Object
fr.luc.crcore.features.moderation.ModerationState

public final class ModerationState extends Object
Snapshot complet de l'état d'un joueur avant qu'il n'entre en mode modération. Restauré tel quel quand il en sort.

Capture les éléments classiques : inventaire (main + armor + offhand), XP, vie, faim, gamemode, location, vol. Toute extension (effets de potion, statuts custom) se fait en ajoutant un champ ici et en traitant le snapshot/restore dans ModerationService.

Immutable. Construit via le constructeur depuis un Player.

Skeleton : pour l'instant ce snapshot est en mémoire uniquement. Une persistance SQLite est prévue (table crcore_moderation_states) pour survivre à un crash serveur pendant qu'un modérateur est en mod mode.

  • Constructor Details

    • ModerationState

      public ModerationState(org.bukkit.entity.Player player)
      Construit le snapshot depuis l'état courant du joueur.
  • Method Details

    • restoreTo

      public void restoreTo(org.bukkit.entity.Player player)
      Restaure le joueur dans son état initial. Le joueur doit toujours être en ligne. Suppose qu'on l'a déjà fait sortir du vanish, etc. — cette méthode ne gère que les attributs du snapshot.
    • getPlayerId

      public UUID getPlayerId()
    • getEnteredAt

      public Instant getEnteredAt()
    • getInventoryContents

      public org.bukkit.inventory.ItemStack[] getInventoryContents()
    • getArmorContents

      public org.bukkit.inventory.ItemStack[] getArmorContents()
    • getOffhandItem

      public org.bukkit.inventory.ItemStack getOffhandItem()
    • getXpLevel

      public int getXpLevel()
    • getXpProgress

      public float getXpProgress()
    • getHealth

      public double getHealth()
    • getFoodLevel

      public int getFoodLevel()
    • getSaturation

      public float getSaturation()
    • getLocation

      public org.bukkit.Location getLocation()
    • getGameMode

      public org.bukkit.GameMode getGameMode()
    • isAllowFlight

      public boolean isAllowFlight()
    • isFlying

      public boolean isFlying()
    • getWalkSpeed

      public float getWalkSpeed()
    • getFlySpeed

      public float getFlySpeed()