mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
Persist PlayerDeathEvent values. Fixes BUKKIT-1521
This commit is contained in:
parent
e8b6eb717a
commit
1dcb39074d
2 changed files with 16 additions and 3 deletions
|
@ -687,6 +687,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|||
firstPlayed = data.getLong("firstPlayed");
|
||||
lastPlayed = data.getLong("lastPlayed");
|
||||
}
|
||||
|
||||
if (data.hasKey("newExp")) {
|
||||
EntityPlayer handle = getHandle();
|
||||
handle.newExp = data.getInt("newExp");
|
||||
handle.newTotalExp = data.getInt("newTotalExp");
|
||||
handle.newLevel = data.getInt("newLevel");
|
||||
handle.expToDrop = data.getInt("expToDrop");
|
||||
handle.keepLevel = data.getBoolean("keepLevel");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -696,6 +705,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|||
}
|
||||
|
||||
NBTTagCompound data = nbttagcompound.getCompound("bukkit");
|
||||
EntityPlayer handle = getHandle();
|
||||
data.setInt("newExp", handle.newExp);
|
||||
data.setInt("newTotalExp", handle.newTotalExp);
|
||||
data.setInt("newLevel", handle.newLevel);
|
||||
data.setInt("expToDrop", handle.expToDrop);
|
||||
data.setBoolean("keepLevel", handle.keepLevel);
|
||||
data.setLong("firstPlayed", getFirstPlayed());
|
||||
data.setLong("lastPlayed", System.currentTimeMillis());
|
||||
}
|
||||
|
|
|
@ -316,7 +316,6 @@ public class CraftEventFactory {
|
|||
org.bukkit.World world = entity.getWorld();
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
// TODO: Possibly a way to persist this incase of disconnect
|
||||
victim.keepLevel = event.getKeepLevel();
|
||||
victim.newLevel = event.getNewLevel();
|
||||
victim.newTotalExp = event.getNewTotalExp();
|
||||
|
@ -329,8 +328,7 @@ public class CraftEventFactory {
|
|||
if (stack instanceof CraftItemStack) {
|
||||
// Use the internal item to preserve possible data.
|
||||
victim.a(((CraftItemStack) stack).getHandle(), 0.0f);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
world.dropItemNaturally(entity.getLocation(), stack);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue