possibly relatedhttps://raw.githubusercontent.com/Winds-Studio/Leaf/2f72924ec7b24b8574ba50470b4217af96bf9452/leaf-server/minecraft-patches/features/0275-fix-MC-298464.patch
public class CombatTracker { private final List<CombatEntry> entries = Lists.newArrayList(); } public record CombatEntry(DamageSource source, float damage, @Nullable FallLocation fallLocation, float fallDistance) { } public class DamageSource { private final Holder<DamageType> type; private final Entity causingEntity; private final Entity directEntity; private final Vec3 damageSourcePosition; } public abstract class LivingEntity extends Entity implements Attackable, WaypointTransmitter { public void remove(Entity.RemovalReason removalReason) { if ((removalReason == Entity.RemovalReason.KILLED || removalReason == Entity.RemovalReason.DISCARDED) && this.level() instanceof ServerLevel serverLevel) { this.triggerOnDeathMobEffects(serverLevel, removalReason); } super.remove(removalReason); this.brain.clearMemories(); // leak CombatTracker#entries ? } }
possibly related
https://raw.githubusercontent.com/Winds-Studio/Leaf/2f72924ec7b24b8574ba50470b4217af96bf9452/leaf-server/minecraft-patches/features/0275-fix-MC-298464.patch