Added methods to control dropped EXP from EntityDeathEvent, and made a subevent for setting players respawned-exp
This commit is contained in:
parent
e61bc9093d
commit
8473229607
@ -9,10 +9,40 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
*/
|
*/
|
||||||
public class EntityDeathEvent extends EntityEvent {
|
public class EntityDeathEvent extends EntityEvent {
|
||||||
private List<ItemStack> drops;
|
private List<ItemStack> drops;
|
||||||
|
private int dropExp = 0;
|
||||||
|
|
||||||
public EntityDeathEvent(final Entity what, final List<ItemStack> drops) {
|
public EntityDeathEvent(final Entity entity, final List<ItemStack> drops) {
|
||||||
|
this(entity, drops, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityDeathEvent(final Entity what, final List<ItemStack> drops, int droppedExp) {
|
||||||
super(Type.ENTITY_DEATH, what);
|
super(Type.ENTITY_DEATH, what);
|
||||||
this.drops = drops;
|
this.drops = drops;
|
||||||
|
this.dropExp = droppedExp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets how much EXP should be dropped from this death.
|
||||||
|
* <p>
|
||||||
|
* This does not indicate how much EXP should be taken from the entity in question,
|
||||||
|
* merely how much should be created after its death.
|
||||||
|
*
|
||||||
|
* @return Amount of EXP to drop.
|
||||||
|
*/
|
||||||
|
public int getDroppedExp() {
|
||||||
|
return dropExp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets how much EXP should be dropped from this death.
|
||||||
|
* <p>
|
||||||
|
* This does not indicate how much EXP should be taken from the entity in question,
|
||||||
|
* merely how much should be created after its death.
|
||||||
|
*
|
||||||
|
* @param exp Amount of EXP to drop.
|
||||||
|
*/
|
||||||
|
public void setDropedExp(int exp) {
|
||||||
|
this.dropExp = exp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
41
src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
Normal file
41
src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
public PlayerDeathEvent(Player player, List<ItemStack> drops, int droppedExp, int newExp) {
|
||||||
|
super(player, drops, droppedExp);
|
||||||
|
this.newExp = newExp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 #setDropedExp(int)} for that.
|
||||||
|
*
|
||||||
|
* @get exp New EXP of the respawned player
|
||||||
|
*/
|
||||||
|
public void setNewExp(int exp) {
|
||||||
|
this.newExp = exp;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user