diff --git a/Essentials/src/com/earth2me/essentials/listener/EssentialsEntityListener.java b/Essentials/src/com/earth2me/essentials/listener/EssentialsEntityListener.java index 465c0fbed..53055a265 100644 --- a/Essentials/src/com/earth2me/essentials/listener/EssentialsEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/listener/EssentialsEntityListener.java @@ -134,6 +134,17 @@ public class EssentialsEntityListener implements Listener event.setDeathMessage(""); } } + + @EventHandler(priority = EventPriority.LOW) + public void onPlayerDeathExpEvent(final PlayerDeathEvent event) + { + final IUser user = ess.getUser(event.getEntity()); + if (Permissions.KEEPXP.isAuthorized(user)) + { + event.setKeepLevel(true); + event.setDroppedExp(0); + } + } @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onFoodLevelChange(final FoodLevelChangeEvent event) diff --git a/Essentials/src/com/earth2me/essentials/permissions/Permissions.java b/Essentials/src/com/earth2me/essentials/permissions/Permissions.java index 05627210b..80437fed4 100644 --- a/Essentials/src/com/earth2me/essentials/permissions/Permissions.java +++ b/Essentials/src/com/earth2me/essentials/permissions/Permissions.java @@ -45,6 +45,7 @@ public enum Permissions implements IPermission JOINFULLSERVER, INVSEE_MODIFY, INVSEE_PREVENT_MODIFY, + KEEPXP, KICK_EXEMPT, KICK_NOTIFY, LIST_HIDDEN,