private void OnItemRemovedFromContainer(ItemContainer itemContainer, Item item) {
if (item.parentItem != null)
return;
var player = itemContainer.GetOwnerPlayer();
if (player != null)
return;
ContainerController container;
if (!_controllersPerContainer.TryGetValue(itemContainer.uid, out container))
return;
#if DEBUG
Puts($"OnItemRemovedFromContainer: {item.info.shortname} (slot {item.position})");
#endif
container.OnItemTaken(item);
// ================================================
Interface.CallHook("OnItemSkinChanged", player, item); // player should be replaced with container.Owner
// ================================================
container.Clear();
}