mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Prevent max health from being set below 0 (#2980)
* Prevent max health from being set below 0 * Add more detail to comment
This commit is contained in:
parent
c3c8161a43
commit
38625312a1
1 changed files with 3 additions and 1 deletions
|
@ -300,7 +300,9 @@ public class LivingEntity extends Entity {
|
||||||
if (javaAttribute.getType() instanceof AttributeType.Builtin type) {
|
if (javaAttribute.getType() instanceof AttributeType.Builtin type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case GENERIC_MAX_HEALTH -> {
|
case GENERIC_MAX_HEALTH -> {
|
||||||
this.maxHealth = (float) AttributeUtils.calculateValue(javaAttribute);
|
// Since 1.18.0, setting the max health to 0 or below causes the entity to die on Bedrock but not on Java
|
||||||
|
// See https://github.com/GeyserMC/Geyser/issues/2971
|
||||||
|
this.maxHealth = Math.max((float) AttributeUtils.calculateValue(javaAttribute), 1f);
|
||||||
newAttributes.add(createHealthAttribute());
|
newAttributes.add(createHealthAttribute());
|
||||||
}
|
}
|
||||||
case GENERIC_ATTACK_DAMAGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.ATTACK_DAMAGE));
|
case GENERIC_ATTACK_DAMAGE -> newAttributes.add(calculateAttribute(javaAttribute, GeyserAttributeType.ATTACK_DAMAGE));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue