class IScriptable { public native function DetectScriptableCycles(); public native function GetClassName() : CName; public native function IsA(className : CName) : Bool; public native function IsExactlyA(className : CName) : Bool; } class gameItemData extends IScriptable { public native function GetID() : ItemID; public native function GetItemPart(out part : InnerItemData, slotId : TweakDBID); public native function GetItemParts(out parts : array:InnerItemData); public native function GetItemType() : gamedataItemType; public native function GetLocalizedItemType() : CName; public native function GetName() : CName; public native function GetNameAsString() : String; public native function GetQuantity() : Int32; public native function GetStatsObjectID() : StatsObjectID; public native function GetStatValueByType(type : gamedataStatType) : Float; public native function GetTemporaryStatBundle() : ref:StatsBundleHandler; public native function GetTimestamp() : GameTime; public native function HasAttachmentSlot(slotID : TweakDBID) : Bool; public native function HasPartInSlot(slotID : TweakDBID) : Bool; public native function HasPlacementSlot(slotID : TweakDBID) : Bool; public native function HasStatData(type : gamedataStatType) : Bool; public native function HasTag(tag : CName) : Bool; public native function RemoveDynamicTag(tag : CName) : Bool; public native function SetDynamicTag(tag : CName) : Bool; }