diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 0bf8ced8aa..8da16ea0fe 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2160,7 +2160,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } AttributeInstance dummy = new AttributeInstance(Attributes.MAX_HEALTH, (attribute) -> { }); - dummy.setBaseValue(this.scaledHealth ? this.healthScale : this.getMaxHealth()); + // Spigot start + double healthMod = this.scaledHealth ? this.healthScale : this.getMaxHealth(); + if ( healthMod >= Float.MAX_VALUE || healthMod <= 0 ) + { + healthMod = 20; // Reset health + this.getServer().getLogger().warning( this.getName() + " tried to crash the server with a large health attribute" ); + } + dummy.setBaseValue(healthMod); + // Spigot end collection.add(dummy); }