From cc78e173124747d3cdb5c588fafa1df8f9b81f47 Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Sun, 18 Nov 2012 11:33:58 -0500 Subject: [PATCH] Fix players losing experience when keepInventory is true. Fixes BUKKIT-2915 --- src/main/java/net/minecraft/server/EntityPlayer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java index 06709f9b98..85efb807bf 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -764,7 +764,9 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void reset() { float exp = 0; - if (this.keepLevel) { + boolean keepInventory = this.world.getGameRules().getBoolean("keepInventory"); + + if (this.keepLevel || keepInventory) { exp = this.exp; this.newTotalExp = this.expTotal; this.newLevel = this.expLevel; @@ -781,7 +783,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { effects.clear(); this.activeContainer = this.defaultContainer; this.lastSentExp = -1; - if (this.keepLevel) { + if (this.keepLevel || keepInventory) { this.exp = exp; } else { this.giveExp(this.newExp);