// TODO: Add HolsterInfo
        public static ItemHeldEntity Load(BaseEntity heldent)
        {
            var ihInfo = new ItemHeldEntity();

            ihInfo.PrefabID = heldent.prefabID;
            return(ihInfo);
        }
        public static ItemInformation Load(Item item)
        {
            var iteminfo = new ItemInformation();

            iteminfo.ItemID       = item.info.itemid;
            iteminfo.Shortname    = item.info.shortname;
            iteminfo.MaxStack     = item.info.stackable;
            iteminfo.MaxCondition = item.info.condition.max;

            var heldent = item.GetHeldEntity();

            if (heldent != null)
            {
                iteminfo.HeldEntity = ItemHeldEntity.Load(heldent);

                var heldtype = heldent.GetType();
                if (heldtype == typeof(HeldEntity))
                {
                    iteminfo.HeldType = ItemHeldType.HeldEntity;
                }
                else if (heldtype == typeof(AttackEntity))
                {
                    iteminfo.HeldType = ItemHeldType.AttackEntity;
                }
                else if (heldtype == typeof(BaseProjectile))
                {
                    iteminfo.HeldType = ItemHeldType.BaseProjectile;
                }
                else if (heldtype == typeof(BaseMelee))
                {
                    iteminfo.HeldType = ItemHeldType.BaseMelee;
                }

                iteminfo.HeldEntity     = ItemHeldEntity.Load(heldent);
                iteminfo.BaseProjectile = ItemBaseProjectileInfo.Load(heldent);
                iteminfo.BaseMelee      = ItemBaseMelee.Load(heldent);
            }

            return(iteminfo);
        }