From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Fri, 25 Oct 2024 19:26:15 +0900 Subject: [PATCH] Suppress errors from dirty attributes diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java index 0d48209efc607dd7f81deffa96af2ff05ccd37b7..9ab19aa8d05384bc03c8250f8ea628a9b0a00fa2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1348,7 +1348,8 @@ public abstract class LivingEntity extends Entity implements Attackable { } private void refreshDirtyAttributes() { - Set set = this.getAttributes().getAttributesToUpdate(); + Set attr = this.getAttributes().getAttributesToUpdate(); // Plazma - Suppress errors from dirty attributes + final Set set = level().plazmaConfig().entity.suppressErrorsFromDirtyAttributes ? java.util.Collections.synchronizedSet(attr) : attr; // Plazma - Suppress errors from dirty attributes Iterator iterator = set.iterator(); while (iterator.hasNext()) { @@ -1357,7 +1358,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.onAttributeUpdated(attributemodifiable.getAttribute()); } - set.clear(); + attr.clear(); // Plazma - Suppress errors from dirty attributes } private void onAttributeUpdated(Holder attribute) { diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java index f5880a045343e8d84492b61241ac1e514a0eb73d..97da147ae867500a343af7beea51ed5e89543a47 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java @@ -29,6 +29,7 @@ public class WorldConfigurations extends ConfigurationPart { public class Entity extends ConfigurationPart { public int sensorTick = 1; + public boolean suppressErrorsFromDirtyAttributes = OPTIMIZE; public Phantom phantom; public class Phantom extends ConfigurationPart {