SPIGOT-7209: Accessors and events for player's exp cooldown

By: FreeSoccerHDX <freesoccerhdx@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2023-04-21 18:46:56 +10:00
parent b99d3df2d8
commit 695e12db3d
3 changed files with 33 additions and 6 deletions

View File

@@ -131,6 +131,7 @@ import org.bukkit.craftbukkit.block.CraftBlockState;
import org.bukkit.craftbukkit.block.CraftSign;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.conversations.ConversationTracker;
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.map.CraftMapView;
import org.bukkit.craftbukkit.map.RenderData;
@@ -143,6 +144,7 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerExpCooldownChangeEvent;
import org.bukkit.event.player.PlayerHideEntityEvent;
import org.bukkit.event.player.PlayerRegisterChannelEvent;
import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason;
@@ -1186,6 +1188,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return getHandle().getPlayerWeather();
}
@Override
public int getExpCooldown() {
return getHandle().takeXpDelay;
}
@Override
public void setExpCooldown(int ticks) {
getHandle().takeXpDelay = CraftEventFactory.callPlayerXpCooldownEvent(this.getHandle(), ticks, PlayerExpCooldownChangeEvent.ChangeReason.PLUGIN).getNewCooldown();
}
@Override
public void resetPlayerWeather() {
getHandle().resetPlayerWeather();