Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -523,10 +523,10 @@ index 2cae59fbc6a279e70c388ea7cc6f6f5f749f46a1..8dcd36b3d29c3d9913675c918fa509d7
movement = this.maybeBackOffFromEdge(movement, type);
Vec3 vec3 = this.collide(movement);
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index d5e304c9431bf3d7ad151e68e955b113d3c599ef..90483699b3f2efe9945c849adfdd38422e3a3458 100644
index b49d5e2089ab7ae024cb8e5d9c040060e90a678a..2d4cd4c74921da4b91b96d1cbfc729e845a25a38 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -3246,6 +3246,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
@@ -3252,6 +3252,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
return false;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@
if (mobEffectInstance != null) {
this.onEffectsRemoved(List.of(mobEffectInstance));
return true;
@@ -1131,17 +_,62 @@
@@ -1131,17 +_,68 @@
}

public void heal(float healAmount) {
Expand All @@ -460,6 +460,12 @@
+ }
+
+ if (!event.isCancelled()) {
+ // Paper start - handle negative health
+ if (event.getAmount() < 0) {
+ this.hurtServer(((net.minecraft.server.level.ServerLevel) this.level()), new DamageSource(this.level().registryAccess().getOrThrow(ResourceKey.create(net.minecraft.core.registries.Registries.DAMAGE_TYPE, ResourceLocation.fromNamespaceAndPath("paper", "healing_magic")))), (float) Math.abs(event.getAmount()));
+ return;
+ }
+ // Paper end
+ this.setHealth((float) (this.getHealth() + event.getAmount()));
+ }
+ // CraftBukkit end
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"exhaustion": 0.0,
"message_id": "generic",
"scaling": "when_caused_by_living_non_player"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"paper:healing_magic"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"paper:healing_magic"
]
}
Loading