Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 19:10:09 +01:00
bffb08c2f9
The Paper method was chosen for deprecation because it was more restrictive in that it has an isGliding check.
33 Zeilen
1.3 KiB
Diff
33 Zeilen
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Sun, 16 Jan 2022 10:34:02 -0800
|
|
Subject: [PATCH] Fix xp reward for baby zombies
|
|
|
|
The field that tracks the xpReward was not
|
|
getting reset if the death was cancelled
|
|
so this resets it after each call to
|
|
Zombie#getExperienceReward
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
index bcf31d0b784241b4f2b71bced4a431763d538a69..5fdad1600cc7a7c22d1d9a58b6b2dda605521b97 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
|
@@ -175,11 +175,16 @@ public class Zombie extends Monster {
|
|
|
|
@Override
|
|
public int getExperienceReward() {
|
|
+ final int previousReward = this.xpReward; // Paper - store previous value to reset after calculating XP reward
|
|
if (this.isBaby()) {
|
|
this.xpReward = (int) ((double) this.xpReward * 2.5D);
|
|
}
|
|
|
|
- return super.getExperienceReward();
|
|
+ // Paper start - only change the XP reward for the calculations in the super method
|
|
+ int reward = super.getExperienceReward();
|
|
+ this.xpReward = previousReward;
|
|
+ return reward;
|
|
+ // Paper end
|
|
}
|
|
|
|
@Override
|