mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-27 11:14:44 +02:00
Added McMMOPlayerPreDeathPenaltyEvent and McMMOPlayerStatLossEvent
McMMOPlayerPreDeathPenaltyEvent is fired before hardcore calculations take place, use this if you want to cancel hardcore penalties. Use McMMOPlayerVampirismEvent and McMMOPlayerStatLossEvent when you want to know how many levels or experience the player lost or if you want to modify this.
This commit is contained in:
@ -1,25 +1,45 @@
|
||||
package com.gmail.nossr50.events.hardcore;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||
|
||||
public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancellable {
|
||||
private SkillType skill;
|
||||
private HashMap<String, Integer> levelChanged;
|
||||
private HashMap<String, Float> experienceChanged;
|
||||
|
||||
private boolean cancelled;
|
||||
|
||||
public McMMOPlayerDeathPenaltyEvent(Player player, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
|
||||
super(player);
|
||||
this.levelChanged = levelChanged;
|
||||
this.experienceChanged = experienceChanged;
|
||||
this.cancelled = false;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public McMMOPlayerDeathPenaltyEvent(Player player) {
|
||||
super(player);
|
||||
this.cancelled = false;
|
||||
}
|
||||
|
||||
public McMMOPlayerDeathPenaltyEvent(Player player, SkillType skill) {
|
||||
super(player);
|
||||
this.skill = skill;
|
||||
this.cancelled = false;
|
||||
public HashMap<String, Integer> getLevelChanged() {
|
||||
return levelChanged;
|
||||
}
|
||||
|
||||
public void setLevelChanged(HashMap<String, Integer> levelChanged) {
|
||||
this.levelChanged = levelChanged;
|
||||
}
|
||||
|
||||
public HashMap<String, Float> getExperienceChanged() {
|
||||
return experienceChanged;
|
||||
}
|
||||
|
||||
public void setExperienceChanged(HashMap<String, Float> experienceChanged) {
|
||||
this.experienceChanged = experienceChanged;
|
||||
}
|
||||
|
||||
/** Following are required for Cancellable **/
|
||||
@ -44,8 +64,4 @@ public class McMMOPlayerDeathPenaltyEvent extends PlayerEvent implements Cancell
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public SkillType getSkill() {
|
||||
return skill;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,38 @@
|
||||
package com.gmail.nossr50.events.hardcore;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
|
||||
public class McMMOPlayerPreDeathPenaltyEvent extends PlayerEvent implements Cancellable {
|
||||
private boolean cancelled;
|
||||
|
||||
public McMMOPlayerPreDeathPenaltyEvent(Player player) {
|
||||
super(player);
|
||||
this.cancelled = false;
|
||||
}
|
||||
|
||||
/** Following are required for Cancellable **/
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancelled) {
|
||||
this.cancelled = cancelled;
|
||||
}
|
||||
|
||||
/** Rest of file is required boilerplate for custom events **/
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.gmail.nossr50.events.hardcore;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class McMMOPlayerStatLossEvent extends McMMOPlayerDeathPenaltyEvent {
|
||||
|
||||
public McMMOPlayerStatLossEvent(Player player, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
|
||||
super(player, levelChanged, experienceChanged);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.gmail.nossr50.events.hardcore;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class McMMOPlayerVampirismEvent extends McMMOPlayerDeathPenaltyEvent {
|
||||
private boolean isVictim;
|
||||
|
||||
public McMMOPlayerVampirismEvent(Player player, boolean isVictim, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
|
||||
super(player, levelChanged, experienceChanged);
|
||||
this.isVictim = isVictim;
|
||||
}
|
||||
|
||||
public boolean isVictim() {
|
||||
return isVictim;
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package com.gmail.nossr50.events.hardcore;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||
|
||||
public class McMMOPlayerVampirismPenaltyEvent extends McMMOPlayerDeathPenaltyEvent {
|
||||
private int levelChanged;
|
||||
private float experienceChanged;
|
||||
|
||||
public McMMOPlayerVampirismPenaltyEvent(Player player, SkillType skill, int levelChanged, float experienceChanged) {
|
||||
super(player, skill);
|
||||
this.levelChanged = levelChanged;
|
||||
this.experienceChanged = experienceChanged;
|
||||
}
|
||||
|
||||
public int getLevelChanged() {
|
||||
return levelChanged;
|
||||
}
|
||||
|
||||
public void setLevelChanged(int levelChanged) {
|
||||
this.levelChanged = levelChanged;
|
||||
}
|
||||
|
||||
public float getExperienceChanged() {
|
||||
return experienceChanged;
|
||||
}
|
||||
|
||||
public void setExperienceChanged(float experienceChanged) {
|
||||
this.experienceChanged = experienceChanged;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user