Just be warned that if you put blessed items in a non-blessed container, they will be lootable (I think that's OSI-accurate anyway)
This is the only place where FindItems_Callback is called, just below its definition in OnBeforeDeath()
C#:
if (Backpack != null && !Backpack.Deleted)
{
foreach (Item t in Backpack.FindItemsByType<Item>(FindItems_Callback))
{
Backpack.AddItem(t);
}
}
FindItems_Callback should be more appropriately named MoveBlessedItemsToPack_Predicate IMO
It would be safer to exclude blessed items with a blessed parent than to remove or disable the code; although it does feel like it's vestigial because all of the moving items on death is handled by the DeathMoveResult returned by other methods.
I changed my FindItems_Calback to this, to check if the parent containers are blessed;
C#:
if (item == null || item.Deleted || item.ParentEntity == Backpack || !item.CheckBlessed(this))
{
return false;
}
if (item.ParentEntity is Container)
{
return !((Container)item.ParentEntity).CheckBlessed(this);
}
return true;