Eventi
ScalaPlot pubblica una serie di eventi Bukkit personalizzati (pacchetto com.scala.plotAPI.events) che puoi intercettare con un normale @EventHandler, esattamente come qualsiasi altro evento Bukkit.
Tutti gli eventi estendono la classe astratta PlotEvent, che espone:
public abstract class PlotEvent extends Event { public IPlot getPlot();}Molti eventi estendono inoltre PlotCancellableEvent (che implementa Cancellable), permettendoti di annullarli per impedire l’azione che li ha generati.
Elenco eventi
Sezione intitolata “Elenco eventi”| Evento | Cancellabile | Descrizione | Metodi aggiuntivi |
|---|---|---|---|
PlotClaimEvent |
✅ | Un giocatore rivendica un plot | getPlayer() |
PlotDeleteEvent |
✅ | Un plot viene eliminato | getPlayer() |
PlotEnterEvent |
✅ | Un giocatore entra in un plot | getPlayer() |
PlotLeaveEvent |
✅ | Un giocatore lascia un plot | getPlayer() |
PlotOwnerChangeEvent |
✅ | Cambia il proprietario di un plot | getOldOwner(), getNewOwner() |
PlotTrustEvent |
✅ | Un giocatore viene aggiunto ai fidati | getPlayerId() |
PlotUntrustEvent |
✅ | Un giocatore viene rimosso dai fidati | getPlayerId() |
PlotBanEvent |
✅ | Un giocatore viene bannato dal plot | getPlayerId() |
PlotUnbanEvent |
✅ | Un giocatore viene sbannato dal plot | getPlayerId() |
PlotReportEvent |
✅ | Un plot viene segnalato (Premium) | getPlayer(), getReason() |
PlotBackupEvent |
✅ | Viene creato un backup del plot | getBackupFilePath(), getBackupFile() |
Esempio: bloccare l’ingresso a un plot
Sezione intitolata “Esempio: bloccare l’ingresso a un plot”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("Non puoi entrare in questo plot ora!"); } }}Esempio: reagire a un claim
Sezione intitolata “Esempio: reagire a un claim”@EventHandlerpublic void onClaim(PlotClaimEvent event) { getLogger().info(event.getPlayer().getName() + " ha rivendicato il plot " + event.getPlot());}