Made custom chat event cancellable

This commit is contained in:
Norbi Peti 2016-12-18 12:57:35 +01:00
parent 908b62217a
commit 3285380ece
2 changed files with 26 additions and 2 deletions

View file

@ -1,17 +1,19 @@
package buttondevteam.lib; package buttondevteam.lib;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event; import org.bukkit.event.Event;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import buttondevteam.lib.chat.Channel; import buttondevteam.lib.chat.Channel;
public class TBMCChatEvent extends Event { public class TBMCChatEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private Channel channel; private Channel channel;
private CommandSender sender; private CommandSender sender;
private String message; private String message;
private boolean cancelled;
public TBMCChatEvent(CommandSender sender, Channel channel, String message) { public TBMCChatEvent(CommandSender sender, Channel channel, String message) {
this.sender = sender; this.sender = sender;
@ -44,4 +46,14 @@ public class TBMCChatEvent extends Event {
return handlers; return handlers;
} }
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
} }

View file

@ -189,8 +189,20 @@ public class TBMCChatAPI {
return true; return true;
} }
public static void SendChatMessage(Channel channel, CommandSender sender, String message) { /**
* Sends a chat message to Minecraft
*
* @param channel
* The channel to send to
* @param sender
* The sender to send from
* @param message
* The message to send
* @return The event cancelled state
*/
public static boolean SendChatMessage(Channel channel, CommandSender sender, String message) {
TBMCChatEvent event = new TBMCChatEvent(sender, channel, message); TBMCChatEvent event = new TBMCChatEvent(sender, channel, message);
Bukkit.getPluginManager().callEvent(event); Bukkit.getPluginManager().callEvent(event);
return event.isCancelled();
} }
} }