diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStartEvent.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStartEvent.java new file mode 100644 index 00000000..46aab719 --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStartEvent.java @@ -0,0 +1,50 @@ +package com.hibiscusmc.hmccosmetics.api; + +import com.hibiscusmc.hmccosmetics.user.CosmeticUser; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +public class PlayerEmoteStartEvent extends Event implements Cancellable { + + private final CosmeticUser user; + private String animationId; // Animation id can be invalid! + private boolean isCancelled; + + public PlayerEmoteStartEvent(CosmeticUser user, String animationId) { + this.user = user; + this.animationId = animationId; + this.isCancelled = false; + } + + @Override + public boolean isCancelled() { + return isCancelled; + } + + @Override + public void setCancelled(boolean cancel) { + isCancelled = cancel; + } + + private static final HandlerList handlers = new HandlerList(); + + @Override + @NotNull + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } + + public CosmeticUser getUser() { + return user; + } + + public String getAnimationId() { + return animationId; + } +} \ No newline at end of file diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStopEvent.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStopEvent.java new file mode 100644 index 00000000..26610a89 --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerEmoteStopEvent.java @@ -0,0 +1,51 @@ +package com.hibiscusmc.hmccosmetics.api; + +import com.hibiscusmc.hmccosmetics.user.CosmeticUser; +import com.hibiscusmc.hmccosmetics.user.manager.UserEmoteManager; +import org.bukkit.event.Cancellable; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +public class PlayerEmoteStopEvent extends Event implements Cancellable { + + private final CosmeticUser user; + private final UserEmoteManager.StopEmoteReason stopEmoteReason; + private boolean isCancelled; + + public PlayerEmoteStopEvent(CosmeticUser user, UserEmoteManager.StopEmoteReason reason) { + this.user = user; + this.stopEmoteReason = reason; + this.isCancelled = false; + } + + @Override + public boolean isCancelled() { + return isCancelled; + } + + @Override + public void setCancelled(boolean cancel) { + isCancelled = cancel; + } + + private static final HandlerList handlers = new HandlerList(); + + @Override + @NotNull + public HandlerList getHandlers() { + return handlers; + } + + public static HandlerList getHandlerList() { + return handlers; + } + + public CosmeticUser getUser() { + return user; + } + + public UserEmoteManager.StopEmoteReason getStopEmoteReason() { + return stopEmoteReason; + } +}