139 lines
3.8 KiB
Java
139 lines
3.8 KiB
Java
package org.bukkit.event.entity;
|
|
|
|
import java.util.List;
|
|
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
/**
|
|
* Thrown whenever a {@link Player} dies
|
|
*/
|
|
public class PlayerDeathEvent extends EntityDeathEvent {
|
|
private int newExp = 0;
|
|
private String deathMessage = "";
|
|
private int newLevel = 0;
|
|
private int newTotalExp = 0;
|
|
private boolean keepLevel = false;
|
|
|
|
public PlayerDeathEvent(final Player player, final List<ItemStack> drops, final int droppedExp, final String deathMessage) {
|
|
this(player, drops, droppedExp, 0, deathMessage);
|
|
}
|
|
|
|
public PlayerDeathEvent(final Player player, final List<ItemStack> drops, final int droppedExp, final int newExp, final String deathMessage) {
|
|
this(player, drops, droppedExp, newExp, 0, 0, deathMessage);
|
|
}
|
|
|
|
public PlayerDeathEvent(final Player player, final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final String deathMessage) {
|
|
super(player, drops, droppedExp);
|
|
this.newExp = newExp;
|
|
this.newTotalExp = newTotalExp;
|
|
this.newLevel = newLevel;
|
|
this.deathMessage = deathMessage;
|
|
}
|
|
|
|
@Override
|
|
public Player getEntity() {
|
|
return (Player) entity;
|
|
}
|
|
|
|
/**
|
|
* Set the death message that will appear to everyone on the server.
|
|
*
|
|
* @param deathMessage Message to appear to other players on the server.
|
|
*/
|
|
public void setDeathMessage(String deathMessage) {
|
|
this.deathMessage = deathMessage;
|
|
}
|
|
|
|
/**
|
|
* Get the death message that will appear to everyone on the server.
|
|
*
|
|
* @return Message to appear to other players on the server.
|
|
*/
|
|
public String getDeathMessage() {
|
|
return deathMessage;
|
|
}
|
|
|
|
/**
|
|
* Gets how much EXP the Player should have at respawn.
|
|
* <p>
|
|
* This does not indicate how much EXP should be dropped, please see
|
|
* {@link #getDroppedExp()} for that.
|
|
*
|
|
* @return New EXP of the respawned player
|
|
*/
|
|
public int getNewExp() {
|
|
return newExp;
|
|
}
|
|
|
|
/**
|
|
* Sets how much EXP the Player should have at respawn.
|
|
* <p>
|
|
* This does not indicate how much EXP should be dropped, please see
|
|
* {@link #setDroppedExp(int)} for that.
|
|
*
|
|
* @param exp New EXP of the respawned player
|
|
*/
|
|
public void setNewExp(int exp) {
|
|
newExp = exp;
|
|
}
|
|
|
|
/**
|
|
* Gets the Level the Player should have at respawn.
|
|
*
|
|
* @return New Level of the respawned player
|
|
*/
|
|
public int getNewLevel() {
|
|
return newLevel;
|
|
}
|
|
|
|
/**
|
|
* Sets the Level the Player should have at respawn.
|
|
*
|
|
* @param level New Level of the respawned player
|
|
*/
|
|
public void setNewLevel(int level) {
|
|
newLevel = level;
|
|
}
|
|
|
|
/**
|
|
* Gets the Total EXP the Player should have at respawn.
|
|
*
|
|
* @return New Total EXP of the respawned player
|
|
*/
|
|
public int getNewTotalExp() {
|
|
return newTotalExp;
|
|
}
|
|
|
|
/**
|
|
* Sets the Total EXP the Player should have at respawn.
|
|
*
|
|
* @param totalExp New Total EXP of the respawned player
|
|
*/
|
|
public void setNewTotalExp(int totalExp) {
|
|
newTotalExp = totalExp;
|
|
}
|
|
|
|
/**
|
|
* Gets if the Player should keep all EXP at respawn.
|
|
* <p>
|
|
* This flag overrides other EXP settings
|
|
*
|
|
* @return True if Player should keep all pre-death exp
|
|
*/
|
|
public boolean getKeepLevel() {
|
|
return keepLevel;
|
|
}
|
|
|
|
/**
|
|
* Sets if the Player should keep all EXP at respawn.
|
|
* <p>
|
|
* This overrides all other EXP settings
|
|
*
|
|
* @param keepLevel True to keep all current value levels
|
|
*/
|
|
public void setKeepLevel(boolean keepLevel) {
|
|
this.keepLevel = keepLevel;
|
|
}
|
|
}
|