Skip to content

Commit 36ce000

Browse files
Fix xp reward for baby zombies (#7353)
1 parent 78999b5 commit 36ce000

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Jake Potrebic <jake.m.potrebic@gmail.com>
3+
Date: Sun, 16 Jan 2022 10:34:02 -0800
4+
Subject: [PATCH] Fix xp reward for baby zombies
5+
6+
The field that tracks the xpReward was not
7+
getting reset if the death was cancelled
8+
so this resets it after each call to
9+
Zombie#getExperienceReward
10+
11+
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
12+
index e72e9b748b3f3e34baddf01366c703efba50c67c..35f0203d260c11b729c30e6241316fda4b70bfd7 100644
13+
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
14+
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
15+
@@ -172,11 +172,16 @@ public class Zombie extends Monster {
16+
17+
@Override
18+
protected int getExperienceReward(Player player) {
19+
+ final int previousReward = this.xpReward; // Paper - store previous value to reset after calculating XP reward
20+
if (this.isBaby()) {
21+
this.xpReward = (int) ((float) this.xpReward * 2.5F);
22+
}
23+
24+
- return super.getExperienceReward(player);
25+
+ // Paper start - only change the XP reward for the calculations in the super method
26+
+ int reward = super.getExperienceReward(player);
27+
+ this.xpReward = previousReward;
28+
+ return reward;
29+
+ // Paper end
30+
}
31+
32+
@Override

0 commit comments

Comments
 (0)