Événements
ScalaPlot publie une série d’événements Bukkit personnalisés (paquet com.scala.plotAPI.events) que vous pouvez intercepter avec un @EventHandler classique, exactement comme n’importe quel autre événement Bukkit.
Tous les événements héritent de la classe abstraite PlotEvent, qui expose :
public abstract class PlotEvent extends Event { public IPlot getPlot();}De nombreux événements héritent également de PlotCancellableEvent (implémentant Cancellable), vous permettant de les annuler pour empêcher l’action qui les a déclenchés.
Liste des événements
Section intitulée « Liste des événements »| Événement | Annulable | Description | Méthodes supplémentaires |
|---|---|---|---|
PlotClaimEvent |
✅ | Un joueur réclame une parcelle | getPlayer() |
PlotDeleteEvent |
✅ | Une parcelle est supprimée | getPlayer() |
PlotEnterEvent |
✅ | Un joueur entre dans une parcelle | getPlayer() |
PlotLeaveEvent |
✅ | Un joueur quitte une parcelle | getPlayer() |
PlotOwnerChangeEvent |
✅ | Le propriétaire d’une parcelle change | getOldOwner(), getNewOwner() |
PlotTrustEvent |
✅ | Un joueur est ajouté à la liste de confiance | getPlayerId() |
PlotUntrustEvent |
✅ | Un joueur est retiré de la liste de confiance | getPlayerId() |
PlotBanEvent |
✅ | Un joueur est banni de la parcelle | getPlayerId() |
PlotUnbanEvent |
✅ | Un joueur est débanni de la parcelle | getPlayerId() |
PlotReportEvent |
✅ | Une parcelle est signalée (Premium) | getPlayer(), getReason() |
PlotBackupEvent |
✅ | Une sauvegarde de la parcelle est créée | getBackupFilePath(), getBackupFile() |
Exemple : bloquer l’entrée dans une parcelle
Section intitulée « Exemple : bloquer l’entrée dans une parcelle »import com.scala.plotAPI.events.PlotEnterEvent;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;
public class MyListener implements Listener {
@EventHandler public void onPlotEnter(PlotEnterEvent event) { if (someCondition(event.getPlayer())) { event.setCancelled(true); event.getPlayer().sendMessage("Vous ne pouvez pas entrer dans cette parcelle maintenant !"); } }}Exemple : réagir à un claim
Section intitulée « Exemple : réagir à un claim »@EventHandlerpublic void onClaim(PlotClaimEvent event) { getLogger().info(event.getPlayer().getName() + " a réclamé la parcelle " + event.getPlot());}