From 4daf786b2f76831bbbfa29f27a0257366e8fbccd Mon Sep 17 00:00:00 2001 From: Warrior <50800980+Warriorrrr@users.noreply.github.com> Date: Sun, 26 Jan 2025 12:28:12 +0100 Subject: [PATCH] Changes --- .../taming/McMMOPlayerTameEntityEvent.java | 21 +++++++++++++------ .../nossr50/skills/taming/TamingManager.java | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/events/skills/taming/McMMOPlayerTameEntityEvent.java b/src/main/java/com/gmail/nossr50/events/skills/taming/McMMOPlayerTameEntityEvent.java index aadf1bc409..038057d7c5 100644 --- a/src/main/java/com/gmail/nossr50/events/skills/taming/McMMOPlayerTameEntityEvent.java +++ b/src/main/java/com/gmail/nossr50/events/skills/taming/McMMOPlayerTameEntityEvent.java @@ -1,13 +1,12 @@ package com.gmail.nossr50.events.skills.taming; import com.gmail.nossr50.datatypes.experience.XPGainReason; +import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.events.experience.McMMOPlayerExperienceEvent; import com.google.common.base.Preconditions; import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** @@ -16,16 +15,25 @@ public class McMMOPlayerTameEntityEvent extends McMMOPlayerExperienceEvent { private static final HandlerList HANDLER_LIST = new HandlerList(); + private final McMMOPlayer mmoPlayer; private float xpGained; private final Entity tamedEntity; - @ApiStatus.Internal - public McMMOPlayerTameEntityEvent(@NotNull Player player, float xp, @NotNull Entity tamedEntity) { - super(player, PrimarySkillType.TAMING, XPGainReason.PVE); + public McMMOPlayerTameEntityEvent(@NotNull McMMOPlayer mmoPlayer, float xp, @NotNull Entity tamedEntity) { + super(mmoPlayer.getPlayer(), PrimarySkillType.TAMING, XPGainReason.PVE); + this.mmoPlayer = mmoPlayer; this.xpGained = xp; this.tamedEntity = tamedEntity; } + /** + * @return The {@link McMMOPlayer} associated with this event. + */ + @NotNull + public McMMOPlayer getMcMMOPlayer() { + return mmoPlayer; + } + /** * @return The raw experience that the player will receive. */ @@ -35,10 +43,11 @@ public float getXpGained() { /** * @param xpGained The raw experience that the player will receive. - * @throws IllegalArgumentException if xpGained is NaN or infinite. + * @throws IllegalArgumentException if xpGained is NaN, infinite, or not positive. */ public void setXpGained(float xpGained) { Preconditions.checkArgument(Float.isFinite(xpGained), "new gained xp must be a number"); + Preconditions.checkArgument(xpGained > 0, "new gained xp must be a positive number"); this.xpGained = xpGained; } diff --git a/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java b/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java index 45e39f24f4..9d514aaa06 100644 --- a/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/taming/TamingManager.java @@ -140,7 +140,7 @@ public boolean canUseBeastLore() { public void awardTamingXP(@NotNull LivingEntity entity) { int xp = ExperienceConfig.getInstance().getTamingXP(entity.getType()); - final McMMOPlayerTameEntityEvent event = new McMMOPlayerTameEntityEvent(getPlayer(), xp, entity); + final McMMOPlayerTameEntityEvent event = new McMMOPlayerTameEntityEvent(mmoPlayer, xp, entity); mcMMO.p.getServer().getPluginManager().callEvent(event); if (!event.isCancelled())