ChatModeratorListener.java 文件源码

java
阅读 16 收藏 0 点赞 0 评论 0

项目:ChatModerator 作者:
@SuppressWarnings("deprecation")
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onPlayerChat(final PlayerChatEvent event) {
    Zone chatZone = this.getZoneManager().getZone(ZoneType.CHAT);

    if (!(chatZone.isEnabled()) || event.getPlayer() == null) {
        return;
    }

    String message = Preconditions.checkNotNull(event, "Event").getMessage();
    Player player = event.getPlayer();

    FixedMessage fixedMessage = new FixedMessage(message, Instant.now());

    for (Filter filter : this.getFilterManager().getFiltersForZone(chatZone)) {
        if (fixedMessage.getFixed() == null || fixedMessage.getFixed().equals("")) {
            break;
        }

        filter.filter(fixedMessage, player, ZoneType.CHAT, event);
    }
    this.plugin.getPlayerManager().getViolationSet(player).setLastMessage(fixedMessage);

    event.setMessage(fixedMessage.getOriginal());

    for (Violation v : plugin.getPlayerManager().getViolationSet(player).getViolationsForTime(fixedMessage.getTimeSent())) {
        if (v.isCancelled()) {
            event.setMessage(null);
            event.setCancelled(true);
            break;
        }

        if (v.isFixed()) {
            event.setMessage(fixedMessage.getFixed());
        }
    }

    if (event.getMessage() == null) {
        event.setCancelled(true);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号