2021-06-11 14:02:28 +02:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Thu, 3 Mar 2016 02:18:39 -0600
Subject: [PATCH] Be a bit more informative in maxHealth exception
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
2023-12-05 20:54:55 +01:00
index 0ecfcf1b3a7a7ccdbb0d55f1b1e57feee4e724c3..bde3486b5eb89f8e35778eb59a44c7208ae38743 100644
2021-06-11 14:02:28 +02:00
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
2023-12-05 20:54:55 +01:00
@@ -103,7 +103,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
2023-06-13 01:51:45 +02:00
@Override
2021-06-11 14:02:28 +02:00
public void setHealth(double health) {
health = (float) health;
2023-06-13 01:51:45 +02:00
- Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(), "Health value (%s) must be between 0 and %s", health, this.getMaxHealth());
+ // Paper start - Be more informative
+ Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(),
+ "Health value (%s) must be between 0 and %s. (attribute base value: %s%s)",
+ health, this.getMaxHealth(), this.getHandle().getAttribute(Attributes.MAX_HEALTH).getBaseValue(), this instanceof CraftPlayer ? ", player: " + this.getName() : ""
+ );
+ // Paper end
2021-06-11 14:02:28 +02:00
2021-08-25 09:59:26 +02:00
// during world generation, we don't want to run logic for dropping items and xp
2023-06-13 01:51:45 +02:00
if (this.getHandle().generation && health == 0) {