forked from Upstream/mmocore
Divided PlayerCastSkillEvent into a Pre and Post event
If you're a dev and used the PlayerCastSkillEvent, please use the PlayerPreCastSkillEvent
This commit is contained in:
parent
b2699ef313
commit
3419a2ef09
@ -0,0 +1,44 @@
|
|||||||
|
package net.Indyuce.mmocore.api.event;
|
||||||
|
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
|
import net.Indyuce.mmocore.api.skill.Skill.SkillInfo;
|
||||||
|
import net.Indyuce.mmocore.api.skill.SkillResult;
|
||||||
|
|
||||||
|
public class PlayerPostCastSkillEvent extends PlayerDataEvent {
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
|
||||||
|
private final SkillInfo skill;
|
||||||
|
private final SkillResult result;
|
||||||
|
private final boolean successful;
|
||||||
|
|
||||||
|
public PlayerPostCastSkillEvent(PlayerData playerData, SkillInfo skill, SkillResult result, boolean successful) {
|
||||||
|
super(playerData);
|
||||||
|
|
||||||
|
this.skill = skill;
|
||||||
|
this.result = result;
|
||||||
|
this.successful = successful;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SkillInfo getCast() {
|
||||||
|
return skill;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SkillResult getResult() {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean wasSuccessful() {
|
||||||
|
return successful;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return handlers;
|
||||||
|
}
|
||||||
|
}
|
@ -6,14 +6,14 @@ import org.bukkit.event.HandlerList;
|
|||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.api.skill.Skill.SkillInfo;
|
import net.Indyuce.mmocore.api.skill.Skill.SkillInfo;
|
||||||
|
|
||||||
public class PlayerCastSkillEvent extends PlayerDataEvent implements Cancellable {
|
public class PlayerPreCastSkillEvent extends PlayerDataEvent implements Cancellable {
|
||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
|
||||||
private final SkillInfo skill;
|
private final SkillInfo skill;
|
||||||
|
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
|
|
||||||
public PlayerCastSkillEvent(PlayerData playerData, SkillInfo skill) {
|
public PlayerPreCastSkillEvent(PlayerData playerData, SkillInfo skill) {
|
||||||
super(playerData);
|
super(playerData);
|
||||||
|
|
||||||
this.skill = skill;
|
this.skill = skill;
|
@ -25,9 +25,10 @@ import org.bukkit.scheduler.BukkitRunnable;
|
|||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
import net.Indyuce.mmocore.api.ConfigMessage;
|
import net.Indyuce.mmocore.api.ConfigMessage;
|
||||||
import net.Indyuce.mmocore.api.Waypoint;
|
import net.Indyuce.mmocore.api.Waypoint;
|
||||||
import net.Indyuce.mmocore.api.event.PlayerCastSkillEvent;
|
|
||||||
import net.Indyuce.mmocore.api.event.PlayerExperienceGainEvent;
|
import net.Indyuce.mmocore.api.event.PlayerExperienceGainEvent;
|
||||||
import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent;
|
import net.Indyuce.mmocore.api.event.PlayerLevelUpEvent;
|
||||||
|
import net.Indyuce.mmocore.api.event.PlayerPostCastSkillEvent;
|
||||||
|
import net.Indyuce.mmocore.api.event.PlayerPreCastSkillEvent;
|
||||||
import net.Indyuce.mmocore.api.event.PlayerRegenResourceEvent;
|
import net.Indyuce.mmocore.api.event.PlayerRegenResourceEvent;
|
||||||
import net.Indyuce.mmocore.api.experience.EXPSource;
|
import net.Indyuce.mmocore.api.experience.EXPSource;
|
||||||
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
import net.Indyuce.mmocore.api.experience.PlayerProfessions;
|
||||||
@ -716,9 +717,9 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
|
|
||||||
public SkillResult cast(SkillInfo skill) {
|
public SkillResult cast(SkillInfo skill) {
|
||||||
|
|
||||||
PlayerCastSkillEvent event = new PlayerCastSkillEvent(this, skill);
|
PlayerPreCastSkillEvent preEvent = new PlayerPreCastSkillEvent(this, skill);
|
||||||
Bukkit.getPluginManager().callEvent(event);
|
Bukkit.getPluginManager().callEvent(preEvent);
|
||||||
if (event.isCancelled())
|
if (preEvent.isCancelled())
|
||||||
return new SkillResult(this, skill, CancelReason.OTHER);
|
return new SkillResult(this, skill, CancelReason.OTHER);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -739,6 +740,8 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
MMOCore.plugin.configManager.getSimpleMessage("casting.on-cooldown").send(getPlayer());
|
MMOCore.plugin.configManager.getSimpleMessage("casting.on-cooldown").send(getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlayerPostCastSkillEvent postEvent = new PlayerPostCastSkillEvent(this, skill, cast, false);
|
||||||
|
Bukkit.getPluginManager().callEvent(postEvent);
|
||||||
return cast;
|
return cast;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -750,6 +753,8 @@ public class PlayerData extends OfflinePlayerData {
|
|||||||
giveMana(-cast.getManaCost());
|
giveMana(-cast.getManaCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlayerPostCastSkillEvent postEvent = new PlayerPostCastSkillEvent(this, skill, cast, true);
|
||||||
|
Bukkit.getPluginManager().callEvent(postEvent);
|
||||||
return cast;
|
return cast;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user