package com.gmail.nossr50.events.skills; import com.gmail.nossr50.datatypes.interactions.NotificationType; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; /** * This event is sent for when mcMMO informs a player about various important information */ public class McMMOPlayerNotificationEvent extends Event implements Cancellable { private boolean isCancelled; /* * Messages can be sent to both places, as configured in advanced.yml * If isBeingSentToActionBar is false, then messages will ALWAYS be sent to the chat bar * isMessageAlsoBeingSentToChat just indicates a copy of that message will be sent to chat */ private boolean isMessageAlsoBeingSentToChat; private static final HandlerList handlers = new HandlerList(); protected ChatMessageType chatMessageType; protected TextComponent notificationTextComponent; protected final NotificationType notificationType; public McMMOPlayerNotificationEvent(Player who, NotificationType notificationType, TextComponent notificationTextComponent, ChatMessageType chatMessageType, boolean isMessageAlsoBeingSentToChat) { super(false); this.notificationType = notificationType; this.notificationTextComponent = notificationTextComponent; this.chatMessageType = chatMessageType; this.isMessageAlsoBeingSentToChat = isMessageAlsoBeingSentToChat; isCancelled = false; } /* * Getters & Setters */ public boolean isMessageAlsoBeingSentToChat() { return isMessageAlsoBeingSentToChat; } public void setMessageAlsoBeingSentToChat(boolean messageAlsoBeingSentToChat) { isMessageAlsoBeingSentToChat = messageAlsoBeingSentToChat; } public TextComponent getNotificationTextComponent() { return notificationTextComponent; } public void setNotificationTextComponent(TextComponent notificationTextComponent) { this.notificationTextComponent = notificationTextComponent; } public ChatMessageType getChatMessageType() { return chatMessageType; } public void setChatMessageType(ChatMessageType chatMessageType) { this.chatMessageType = chatMessageType; } /** * The notification type for this event * @return this event's notification type */ public NotificationType getEventNotificationType() { return notificationType; } /* * Custom Event Boilerplate */ @Override public HandlerList getHandlers() { return handlers; } public static HandlerList getHandlerList() { return handlers; } /* * Cancellable Interface Boilerplate */ @Override public boolean isCancelled() { return isCancelled; } @Override public void setCancelled(boolean b) { isCancelled = b; } }