public class PlayerDeathEvent extends EntityDeathEvent
Player
diesEvent.Result
entity
Constructor and Description |
---|
PlayerDeathEvent(Player player,
List<ItemStack> drops,
int droppedExp,
int newExp,
int newTotalExp,
int newLevel,
String deathMessage) |
PlayerDeathEvent(Player player,
List<ItemStack> drops,
int droppedExp,
int newExp,
String deathMessage) |
PlayerDeathEvent(Player player,
List<ItemStack> drops,
int droppedExp,
String deathMessage) |
Modifier and Type | Method and Description |
---|---|
String |
getDeathMessage()
Get the death message that will appear to everyone on the server.
|
Player |
getEntity()
Returns the Entity involved in this event
|
List<ItemStack> |
getItemsToKeep()
A mutable collection to add items that the player should retain in their inventory on death (Similar to KeepInventory game rule)
You MUST remove the item from the .getDrops() collection too or it will duplicate!
|
boolean |
getKeepInventory()
Gets if the Player keeps inventory on death.
|
boolean |
getKeepLevel()
Gets if the Player should keep all EXP at respawn.
|
int |
getNewExp()
Gets how much EXP the Player should have at respawn.
|
int |
getNewLevel()
Gets the Level the Player should have at respawn.
|
int |
getNewTotalExp()
Gets the Total EXP the Player should have at respawn.
|
void |
setDeathMessage(String deathMessage)
Set the death message that will appear to everyone on the server.
|
void |
setKeepInventory(boolean keepInventory)
Sets if the Player keeps inventory on death.
|
void |
setKeepLevel(boolean keepLevel)
Sets if the Player should keep all EXP at respawn.
|
void |
setNewExp(int exp)
Sets how much EXP the Player should have at respawn.
|
void |
setNewLevel(int level)
Sets the Level the Player should have at respawn.
|
void |
setNewTotalExp(int totalExp)
Sets the Total EXP the Player should have at respawn.
|
getDeathSound, getDeathSoundCategory, getDeathSoundPitch, getDeathSoundVolume, getDroppedExp, getDrops, getHandlerList, getHandlers, getReviveHealth, isCancelled, setCancelled, setDeathSound, setDeathSoundCategory, setDeathSoundPitch, setDeathSoundVolume, setDroppedExp, setReviveHealth, setShouldPlayDeathSound, shouldPlayDeathSound
getEntityType
callEvent, getEventName, isAsynchronous
public PlayerDeathEvent(@NotNull Player player, @NotNull List<ItemStack> drops, int droppedExp, @Nullable String deathMessage)
public PlayerDeathEvent(@NotNull Player player, @NotNull List<ItemStack> drops, int droppedExp, int newExp, @Nullable String deathMessage)
@NotNull public List<ItemStack> getItemsToKeep()
{@literal @EventHandler(ignoreCancelled = true)}
public void onPlayerDeath(PlayerDeathEvent event) {
for (Iterator<ItemStack> iterator = event.getDrops().iterator(); iterator.hasNext(); ) {
ItemStack drop = iterator.next();
List<String> lore = drop.getLore();
if (lore != null && !lore.isEmpty()) {
if (lore.get(0).contains("(SOULBOUND)")) {
iterator.remove();
event.getItemsToKeep().add(drop);
}
}
}
}
Adding an item to this list that the player did not previously have will give them the item on death.
An example case could be a "Note" that "You died at X/Y/Z coordinates"@NotNull public Player getEntity()
EntityEvent
getEntity
in class EntityDeathEvent
public void setDeathMessage(@Nullable String deathMessage)
deathMessage
- Message to appear to other players on the server.@Nullable public String getDeathMessage()
public int getNewExp()
This does not indicate how much EXP should be dropped, please see
EntityDeathEvent.getDroppedExp()
for that.
public void setNewExp(int exp)
This does not indicate how much EXP should be dropped, please see
EntityDeathEvent.setDroppedExp(int)
for that.
exp
- New EXP of the respawned playerpublic int getNewLevel()
public void setNewLevel(int level)
level
- New Level of the respawned playerpublic int getNewTotalExp()
public void setNewTotalExp(int totalExp)
totalExp
- New Total EXP of the respawned playerpublic boolean getKeepLevel()
This flag overrides other EXP settings
public void setKeepLevel(boolean keepLevel)
This overrides all other EXP settings
This doesn't prevent prevent the EXP from dropping.
EntityDeathEvent.setDroppedExp(int)
should be used stop the
EXP from dropping.
keepLevel
- True to keep all current value levelspublic void setKeepInventory(boolean keepInventory)
This doesn't prevent prevent the items from dropping.
getDrops().clear()
should be used stop the
items from dropping.
keepInventory
- True to keep the inventorypublic boolean getKeepInventory()
Copyright © 2022. All rights reserved.