From f8c2e0e605093b9e799e24112074226d3da92051 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Tue, 13 Jun 2023 11:10:24 -0500 Subject: [PATCH] feat: add PlayerCosmeticPostEquipEvent to api --- .../api/PlayerCosmeticPostEquipEvent.java | 46 +++++++++++++++++++ .../hmccosmetics/user/CosmeticUser.java | 3 ++ 2 files changed, 49 insertions(+) create mode 100644 common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerCosmeticPostEquipEvent.java diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerCosmeticPostEquipEvent.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerCosmeticPostEquipEvent.java new file mode 100644 index 00000000..52fda558 --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/api/PlayerCosmeticPostEquipEvent.java @@ -0,0 +1,46 @@ +package com.hibiscusmc.hmccosmetics.api; + +import com.hibiscusmc.hmccosmetics.cosmetic.Cosmetic; +import com.hibiscusmc.hmccosmetics.user.CosmeticUser; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +public class PlayerCosmeticPostEquipEvent extends PlayerCosmeticEvent { + private static final HandlerList handlers = new HandlerList(); + private Cosmetic cosmetic; + + public PlayerCosmeticPostEquipEvent(@NotNull CosmeticUser who, @NotNull Cosmetic cosmetic) { + super(who); + this.cosmetic = cosmetic; + } + + /** + * Gets the {@link Cosmetic} being equipped in this event + * + * @return The {@link Cosmetic} which is being equipped in this event + */ + @NotNull + public Cosmetic getCosmetic() { + return cosmetic; + } + + /** + * Sets the {@link Cosmetic} that the player will equip + * + * @param cosmetic The {@link Cosmetic} that the player will equip + */ + public void setCosmetic(@NotNull Cosmetic cosmetic) { + this.cosmetic = cosmetic; + } + + @Override + @NotNull + public HandlerList getHandlers() { + return handlers; + } + + @NotNull + public static HandlerList getHandlerList() { + return handlers; + } +} diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java index fcc51ce5..cf006f62 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java @@ -116,6 +116,9 @@ public class CosmeticUser { CosmeticBalloonType balloonType = (CosmeticBalloonType) cosmetic; spawnBalloon(balloonType); } + // API + PlayerCosmeticPostEquipEvent postEquipEvent = new PlayerCosmeticPostEquipEvent(this, cosmetic); + Bukkit.getPluginManager().callEvent(postEquipEvent); } public void removeCosmetics() {