aboutsummaryrefslogtreecommitdiffhomepage
path: root/patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch')
-rw-r--r--patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch b/patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch
new file mode 100644
index 0000000000..d7d8d14345
--- /dev/null
+++ b/patch-remap/mache-vineflower/net/minecraft/world/effect/SaturationMobEffect.java.patch
@@ -0,0 +1,38 @@
+--- a/net/minecraft/world/effect/SaturationMobEffect.java
++++ b/net/minecraft/world/effect/SaturationMobEffect.java
+@@ -2,8 +2,13 @@
+
+ import net.minecraft.world.entity.LivingEntity;
+ import net.minecraft.world.entity.player.Player;
++// CraftBukkit start
++import org.bukkit.craftbukkit.entity.CraftPlayer;
++import org.bukkit.craftbukkit.event.CraftEventFactory;
++// CraftBukkit end
+
+ class SaturationMobEffect extends InstantenousMobEffect {
++
+ protected SaturationMobEffect(MobEffectCategory category, int color) {
+ super(category, color);
+ }
+@@ -11,8 +16,19 @@
+ @Override
+ public void applyEffectTick(LivingEntity livingEntity, int amplifier) {
+ super.applyEffectTick(livingEntity, amplifier);
+- if (!livingEntity.level().isClientSide && livingEntity instanceof Player player) {
+- player.getFoodData().eat(amplifier + 1, 1.0F);
++ if (!livingEntity.level().isClientSide && livingEntity instanceof Player) {
++ Player entityhuman = (Player) livingEntity;
++
++ // CraftBukkit start
++ int oldFoodLevel = entityhuman.getFoodData().foodLevel;
++ org.bukkit.event.entity.FoodLevelChangeEvent event = CraftEventFactory.callFoodLevelChangeEvent(entityhuman, amplifier + 1 + oldFoodLevel);
++ if (!event.isCancelled()) {
++ entityhuman.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F);
++ }
++
++ ((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate();
++ // CraftBukkit end
+ }
++
+ }
+ }