Логист: кровавая сфера и кровавый камень (модификаторы мода) - в группе «Некромантия»; имя предмета в логе переноса (#18)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-23 16:48:42 +03:00
co-authored by Claude Opus 5.5
parent 054897eb78
commit a745f4eb4a
4 changed files with 7 additions and 5 deletions
+5 -4
View File
@@ -68,8 +68,9 @@ namespace NecromancerTome
"foodRawMeat", "foodRawMeatBundle", "foodEgg", "foodHoney", "foodRottingFlesh"
};
/// <summary>Предметы и блоки самого мода - по его Config/items.xml и blocks.xml (у многих нет «necro» в имени: книги
/// призыва, браслет, камни портала, прах зомби, кожа жертвы). Читается один раз.</summary>
/// <summary>Предметы и блоки самого мода - по его Config/items.xml, blocks.xml и item_modifiers.xml (у многих нет «necro»
/// в имени: книги призыва, браслет, камни портала, прах зомби, кожа жертвы; 23.10 - кровавая сфера и кровавый камень,
/// они модификаторы, и без item_modifiers.xml уходили в «Модификаторы»). Читается один раз.</summary>
static HashSet<string> _modNames;
static HashSet<string> ModNames()
@@ -79,13 +80,13 @@ namespace NecromancerTome
return _modNames;
}
_modNames = new HashSet<string>();
foreach (string f in new[] { "items.xml", "blocks.xml" })
foreach (string f in new[] { "items.xml", "blocks.xml", "item_modifiers.xml" })
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(ModEntry.Instance.Path, "Config", f));
foreach (XmlNode n in doc.SelectNodes("//item[@name] | //block[@name]"))
foreach (XmlNode n in doc.SelectNodes("//item[@name] | //block[@name] | //item_modifier[@name]"))
{
_modNames.Add(n.Attributes["name"].Value);
}
+2 -1
View File
@@ -206,6 +206,7 @@ namespace NecromancerTome
return _urn.ThreadTo;
}
ItemStack moving = s.Clone();
string what = s.itemValue.ItemClass?.GetItemName(); // до Take: забранная целиком стопка становится пустой
Place(moving, new[] { dst });
int moved = s.count - moving.count;
if (moved <= 0)
@@ -214,7 +215,7 @@ namespace NecromancerTome
}
Take(src, k, moved);
dst.SetModified();
Debug.Log("[NecromancerTome] Cinerarium: дух перенёс " + moved + " " + s.itemValue.ItemClass?.GetItemName() + " из " + f + " в " + _urn.ThreadTo);
Debug.Log("[NecromancerTome] Cinerarium: дух перенёс " + moved + " " + what + " из " + f + " в " + _urn.ThreadTo);
return _urn.ThreadTo;
}
}
Binary file not shown.
Binary file not shown.