diff --git a/server/src/main/java/dev/plex/event/BroadcastEvent.java b/server/src/main/java/dev/plex/event/BroadcastEvent.java new file mode 100644 index 0000000..43d6d7d --- /dev/null +++ b/server/src/main/java/dev/plex/event/BroadcastEvent.java @@ -0,0 +1,30 @@ +package dev.plex.event; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.kyori.adventure.text.Component; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +@EqualsAndHashCode(callSuper = false) +@Data +public class BroadcastEvent extends Event +{ + private static final HandlerList handlers = new HandlerList(); + + private final Component message; + + private final String string; + + public static HandlerList getHandlerList() + { + return handlers; + } + + @Override + public @NotNull HandlerList getHandlers() + { + return handlers; + } +} diff --git a/server/src/main/java/dev/plex/util/PlexUtils.java b/server/src/main/java/dev/plex/util/PlexUtils.java index a97681d..ce5e077 100644 --- a/server/src/main/java/dev/plex/util/PlexUtils.java +++ b/server/src/main/java/dev/plex/util/PlexUtils.java @@ -4,6 +4,7 @@ import com.google.common.base.CharMatcher; import com.google.common.collect.Lists; import dev.plex.Plex; import dev.plex.PlexBase; +import dev.plex.event.BroadcastEvent; import dev.plex.listener.impl.ChatListener; import dev.plex.storage.StorageType; import net.kyori.adventure.text.Component; @@ -274,11 +275,13 @@ public class PlexUtils implements PlexBase public static void broadcast(String s) { Bukkit.broadcast(MINI_MESSAGE.deserialize(s)); + Bukkit.getServer().getPluginManager().callEvent(new BroadcastEvent(null, s)); } public static void broadcast(Component component) { Bukkit.broadcast(component); + Bukkit.getServer().getPluginManager().callEvent(new BroadcastEvent(component, null)); } public static void broadcastToAdmins(Component component, String permission)