export interface RustItem {
  shortname: string
  name: string
  category: 'weapons' | 'ammo' | 'medical' | 'attire' | 'tools' | 'resources' | 'components' | 'food' | 'traps' | 'construction' | 'electrical' | 'fun' | 'misc'
  maxStack: number
}

export const rustItems: RustItem[] = [
  // Weapons
  { shortname: 'rifle.ak', name: 'Assault Rifle', category: 'weapons', maxStack: 1 },
  { shortname: 'rifle.lr300', name: 'LR-300', category: 'weapons', maxStack: 1 },
  { shortname: 'rifle.bolt', name: 'Bolt Action Rifle', category: 'weapons', maxStack: 1 },
  { shortname: 'rifle.m39', name: 'M39 Rifle', category: 'weapons', maxStack: 1 },
  { shortname: 'rifle.semiauto', name: 'Semi-Auto Rifle', category: 'weapons', maxStack: 1 },
  { shortname: 'rifle.l96', name: 'L96 Rifle', category: 'weapons', maxStack: 1 },
  { shortname: 'smg.mp5', name: 'MP5A4', category: 'weapons', maxStack: 1 },
  { shortname: 'smg.thompson', name: 'Thompson', category: 'weapons', maxStack: 1 },
  { shortname: 'smg.2', name: 'Custom SMG', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.revolver', name: 'Revolver', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.semiauto', name: 'Semi-Auto Pistol', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.python', name: 'Python Revolver', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.m92', name: 'M92 Pistol', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.nailgun', name: 'Nailgun', category: 'weapons', maxStack: 1 },
  { shortname: 'shotgun.pump', name: 'Pump Shotgun', category: 'weapons', maxStack: 1 },
  { shortname: 'shotgun.spas12', name: 'Spas-12', category: 'weapons', maxStack: 1 },
  { shortname: 'shotgun.double', name: 'Double Barrel Shotgun', category: 'weapons', maxStack: 1 },
  { shortname: 'shotgun.waterpipe', name: 'Waterpipe Shotgun', category: 'weapons', maxStack: 1 },
  { shortname: 'lmg.m249', name: 'M249', category: 'weapons', maxStack: 1 },
  { shortname: 'rocket.launcher', name: 'Rocket Launcher', category: 'weapons', maxStack: 1 },
  { shortname: 'multiplegrenadelauncher', name: 'Multiple Grenade Launcher', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.lasersight', name: 'Laser Sight', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.holosight', name: 'Holosight', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.flashlight', name: 'Flashlight', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.silencer', name: 'Silencer', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.simplesight', name: 'Simple Handmade Sight', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.small.scope', name: 'Handmade Scope', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.8x.scope', name: '8x Zoom Scope', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.muzzleboost', name: 'Muzzle Boost', category: 'weapons', maxStack: 1 },
  { shortname: 'weapon.mod.muzzlebrake', name: 'Muzzle Brake', category: 'weapons', maxStack: 1 },
  { shortname: 'crossbow', name: 'Crossbow', category: 'weapons', maxStack: 1 },
  { shortname: 'bow.hunting', name: 'Hunting Bow', category: 'weapons', maxStack: 1 },
  { shortname: 'bow.compound', name: 'Compound Bow', category: 'weapons', maxStack: 1 },
  { shortname: 'spear.wooden', name: 'Wooden Spear', category: 'weapons', maxStack: 1 },
  { shortname: 'spear.stone', name: 'Stone Spear', category: 'weapons', maxStack: 1 },
  { shortname: 'machete', name: 'Machete', category: 'weapons', maxStack: 1 },
  { shortname: 'longsword', name: 'Longsword', category: 'weapons', maxStack: 1 },
  { shortname: 'salvaged.sword', name: 'Salvaged Sword', category: 'weapons', maxStack: 1 },
  { shortname: 'salvaged.cleaver', name: 'Salvaged Cleaver', category: 'weapons', maxStack: 1 },
  { shortname: 'knife.combat', name: 'Combat Knife', category: 'weapons', maxStack: 1 },
  { shortname: 'bone.club', name: 'Bone Club', category: 'weapons', maxStack: 1 },
  { shortname: 'mace', name: 'Mace', category: 'weapons', maxStack: 1 },
  { shortname: 'grenade.f1', name: 'F1 Grenade', category: 'weapons', maxStack: 1 },
  { shortname: 'grenade.beancan', name: 'Beancan Grenade', category: 'weapons', maxStack: 1 },
  { shortname: 'explosive.satchel', name: 'Satchel Charge', category: 'weapons', maxStack: 1 },
  { shortname: 'explosive.timed', name: 'Timed Explosive', category: 'weapons', maxStack: 1 },
  { shortname: 'surveycharge', name: 'Survey Charge', category: 'weapons', maxStack: 1 },
  { shortname: 'flare', name: 'Flare', category: 'weapons', maxStack: 1 },
  { shortname: 'pistol.eoka', name: 'Eoka Pistol', category: 'weapons', maxStack: 1 },

  // Ammo
  { shortname: 'ammo.rifle', name: '5.56 Rifle Ammo', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.rifle.hv', name: 'HV 5.56 Rifle Ammo', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.rifle.incendiary', name: 'Incendiary 5.56 Ammo', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.rifle.explosive', name: 'Explosive 5.56 Ammo', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.pistol', name: 'Pistol Bullet', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.pistol.hv', name: 'HV Pistol Ammo', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.pistol.fire', name: 'Incendiary Pistol Bullet', category: 'ammo', maxStack: 128 },
  { shortname: 'ammo.shotgun', name: 'Handmade Shell', category: 'ammo', maxStack: 64 },
  { shortname: 'ammo.shotgun.slug', name: '12 Gauge Slug', category: 'ammo', maxStack: 64 },
  { shortname: 'ammo.shotgun.fire', name: '12 Gauge Incendiary Shell', category: 'ammo', maxStack: 64 },
  { shortname: 'ammo.rocket.basic', name: 'Rocket', category: 'ammo', maxStack: 3 },
  { shortname: 'ammo.rocket.hv', name: 'HV Rocket', category: 'ammo', maxStack: 3 },
  { shortname: 'ammo.rocket.fire', name: 'Incendiary Rocket', category: 'ammo', maxStack: 3 },
  { shortname: 'arrow.wooden', name: 'Wooden Arrow', category: 'ammo', maxStack: 64 },
  { shortname: 'arrow.hv', name: 'High Velocity Arrow', category: 'ammo', maxStack: 64 },
  { shortname: 'arrow.fire', name: 'Fire Arrow', category: 'ammo', maxStack: 64 },
  { shortname: 'arrow.bone', name: 'Bone Arrow', category: 'ammo', maxStack: 64 },
  { shortname: 'ammo.nailgun.nails', name: 'Nailgun Nails', category: 'ammo', maxStack: 64 },
  { shortname: 'ammo.grenadelauncher.he', name: '40mm HE Grenade', category: 'ammo', maxStack: 12 },
  { shortname: 'ammo.grenadelauncher.smoke', name: '40mm Smoke Grenade', category: 'ammo', maxStack: 12 },

  // Medical
  { shortname: 'syringe.medical', name: 'Medical Syringe', category: 'medical', maxStack: 3 },
  { shortname: 'largemedkit', name: 'Large Medkit', category: 'medical', maxStack: 1 },
  { shortname: 'bandage', name: 'Bandage', category: 'medical', maxStack: 3 },
  { shortname: 'antiradpills', name: 'Anti-Radiation Pills', category: 'medical', maxStack: 10 },
  { shortname: 'blood', name: 'Blood', category: 'medical', maxStack: 1 },

  // Attire
  { shortname: 'metal.facemask', name: 'Metal Facemask', category: 'attire', maxStack: 1 },
  { shortname: 'metal.plate.torso', name: 'Metal Chest Plate', category: 'attire', maxStack: 1 },
  { shortname: 'roadsign.jacket', name: 'Roadsign Jacket', category: 'attire', maxStack: 1 },
  { shortname: 'roadsign.kilt', name: 'Roadsign Kilt', category: 'attire', maxStack: 1 },
  { shortname: 'coffeecan.helmet', name: 'Coffee Can Helmet', category: 'attire', maxStack: 1 },
  { shortname: 'riot.helmet', name: 'Riot Helmet', category: 'attire', maxStack: 1 },
  { shortname: 'bucket.helmet', name: 'Bucket Helmet', category: 'attire', maxStack: 1 },
  { shortname: 'hoodie', name: 'Hoodie', category: 'attire', maxStack: 1 },
  { shortname: 'pants', name: 'Pants', category: 'attire', maxStack: 1 },
  { shortname: 'shoes.boots', name: 'Boots', category: 'attire', maxStack: 1 },
  { shortname: 'burlap.shirt', name: 'Burlap Shirt', category: 'attire', maxStack: 1 },
  { shortname: 'burlap.trousers', name: 'Burlap Trousers', category: 'attire', maxStack: 1 },
  { shortname: 'burlap.shoes', name: 'Burlap Shoes', category: 'attire', maxStack: 1 },
  { shortname: 'burlap.headwrap', name: 'Burlap Headwrap', category: 'attire', maxStack: 1 },
  { shortname: 'burlap.gloves', name: 'Burlap Gloves', category: 'attire', maxStack: 1 },
  { shortname: 'hat.wolf', name: 'Wolf Headdress', category: 'attire', maxStack: 1 },
  { shortname: 'hat.boonie', name: 'Boonie Hat', category: 'attire', maxStack: 1 },
  { shortname: 'hat.beenie', name: 'Beenie Hat', category: 'attire', maxStack: 1 },
  { shortname: 'hat.miner', name: 'Miners Hat', category: 'attire', maxStack: 1 },
  { shortname: 'hat.candle', name: 'Candle Hat', category: 'attire', maxStack: 1 },
  { shortname: 'attire.hide.poncho', name: 'Hide Poncho', category: 'attire', maxStack: 1 },
  { shortname: 'attire.hide.vest', name: 'Hide Vest', category: 'attire', maxStack: 1 },
  { shortname: 'attire.hide.boots', name: 'Hide Boots', category: 'attire', maxStack: 1 },
  { shortname: 'attire.hide.pants', name: 'Hide Pants', category: 'attire', maxStack: 1 },
  { shortname: 'attire.hide.skirt', name: 'Hide Skirt', category: 'attire', maxStack: 1 },
  { shortname: 'deer.skull.mask', name: 'Deer Skull Mask', category: 'attire', maxStack: 1 },
  { shortname: 'bone.armor.suit', name: 'Bone Armor', category: 'attire', maxStack: 1 },
  { shortname: 'heavy.plate.helmet', name: 'Heavy Plate Helmet', category: 'attire', maxStack: 1 },
  { shortname: 'heavy.plate.jacket', name: 'Heavy Plate Jacket', category: 'attire', maxStack: 1 },
  { shortname: 'heavy.plate.pants', name: 'Heavy Plate Pants', category: 'attire', maxStack: 1 },
  { shortname: 'hazmatsuit', name: 'Hazmat Suit', category: 'attire', maxStack: 1 },
  { shortname: 'nightvisiongoggles', name: 'Night Vision Goggles', category: 'attire', maxStack: 1 },
  { shortname: 'tactical.gloves', name: 'Tactical Gloves', category: 'attire', maxStack: 1 },

  // Tools
  { shortname: 'hatchet', name: 'Hatchet', category: 'tools', maxStack: 1 },
  { shortname: 'pickaxe', name: 'Pickaxe', category: 'tools', maxStack: 1 },
  { shortname: 'stone.pickaxe', name: 'Stone Pickaxe', category: 'tools', maxStack: 1 },
  { shortname: 'stonehatchet', name: 'Stone Hatchet', category: 'tools', maxStack: 1 },
  { shortname: 'rock', name: 'Rock', category: 'tools', maxStack: 1 },
  { shortname: 'torch', name: 'Torch', category: 'tools', maxStack: 1 },
  { shortname: 'jackhammer', name: 'Jackhammer', category: 'tools', maxStack: 1 },
  { shortname: 'chainsaw', name: 'Chainsaw', category: 'tools', maxStack: 1 },
  { shortname: 'hammer', name: 'Hammer', category: 'tools', maxStack: 1 },
  { shortname: 'wire.cutter', name: 'Wire Cutter', category: 'tools', maxStack: 1 },
  { shortname: 'tool.binoculars', name: 'Binoculars', category: 'tools', maxStack: 1 },
  { shortname: 'tool.camera', name: 'Camera', category: 'tools', maxStack: 1 },
  { shortname: 'geiger.counter', name: 'Geiger Counter', category: 'tools', maxStack: 1 },
  { shortname: 'supply.signal', name: 'Supply Signal', category: 'tools', maxStack: 1 },
  { shortname: 'map', name: 'Map', category: 'tools', maxStack: 1 },
  { shortname: 'note', name: 'Note', category: 'tools', maxStack: 1 },
  { shortname: 'blueprintbase', name: 'Blueprint', category: 'tools', maxStack: 1 },

  // Resources
  { shortname: 'wood', name: 'Wood', category: 'resources', maxStack: 1000 },
  { shortname: 'stones', name: 'Stones', category: 'resources', maxStack: 1000 },
  { shortname: 'metal.ore', name: 'Metal Ore', category: 'resources', maxStack: 1000 },
  { shortname: 'metal.fragments', name: 'Metal Fragments', category: 'resources', maxStack: 1000 },
  { shortname: 'metal.refined', name: 'High Quality Metal', category: 'resources', maxStack: 100 },
  { shortname: 'sulfur.ore', name: 'Sulfur Ore', category: 'resources', maxStack: 1000 },
  { shortname: 'sulfur', name: 'Sulfur', category: 'resources', maxStack: 1000 },
  { shortname: 'gunpowder', name: 'Gun Powder', category: 'resources', maxStack: 500 },
  { shortname: 'explosives', name: 'Explosives', category: 'resources', maxStack: 10 },
  { shortname: 'charcoal', name: 'Charcoal', category: 'resources', maxStack: 1000 },
  { shortname: 'lowgradefuel', name: 'Low Grade Fuel', category: 'resources', maxStack: 500 },
  { shortname: 'crude.oil', name: 'Crude Oil', category: 'resources', maxStack: 500 },
  { shortname: 'leather', name: 'Leather', category: 'resources', maxStack: 1000 },
  { shortname: 'cloth', name: 'Cloth', category: 'resources', maxStack: 1000 },
  { shortname: 'fat.animal', name: 'Animal Fat', category: 'resources', maxStack: 1000 },
  { shortname: 'bone.fragments', name: 'Bone Fragments', category: 'resources', maxStack: 1000 },
  { shortname: 'scrap', name: 'Scrap', category: 'resources', maxStack: 1000 },
  { shortname: 'diesel_barrel', name: 'Diesel Fuel', category: 'resources', maxStack: 20 },

  // Components
  { shortname: 'riflebody', name: 'Rifle Body', category: 'components', maxStack: 1 },
  { shortname: 'smgbody', name: 'SMG Body', category: 'components', maxStack: 1 },
  { shortname: 'semibody', name: 'Semi Auto Body', category: 'components', maxStack: 1 },
  { shortname: 'metalpipe', name: 'Metal Pipe', category: 'components', maxStack: 5 },
  { shortname: 'metalspring', name: 'Metal Spring', category: 'components', maxStack: 5 },
  { shortname: 'gears', name: 'Gears', category: 'components', maxStack: 5 },
  { shortname: 'roadsigns', name: 'Road Signs', category: 'components', maxStack: 5 },
  { shortname: 'sewingkit', name: 'Sewing Kit', category: 'components', maxStack: 5 },
  { shortname: 'tarp', name: 'Tarp', category: 'components', maxStack: 5 },
  { shortname: 'rope', name: 'Rope', category: 'components', maxStack: 5 },
  { shortname: 'sheetmetal', name: 'Sheet Metal', category: 'components', maxStack: 5 },
  { shortname: 'techparts', name: 'Tech Trash', category: 'components', maxStack: 5 },
  { shortname: 'propanetank', name: 'Propane Tank', category: 'components', maxStack: 5 },
  { shortname: 'targeting.computer', name: 'Targeting Computer', category: 'components', maxStack: 1 },
  { shortname: 'cctv.camera', name: 'CCTV Camera', category: 'components', maxStack: 1 },
  { shortname: 'electric.fuse', name: 'Fuse', category: 'components', maxStack: 5 },
  { shortname: 'bleach', name: 'Bleach', category: 'components', maxStack: 5 },
  { shortname: 'ducttape', name: 'Duct Tape', category: 'components', maxStack: 5 },

  // Food
  { shortname: 'apple', name: 'Apple', category: 'food', maxStack: 10 },
  { shortname: 'granolabar', name: 'Granola Bar', category: 'food', maxStack: 10 },
  { shortname: 'can.beans', name: 'Can of Beans', category: 'food', maxStack: 10 },
  { shortname: 'can.tuna', name: 'Can of Tuna', category: 'food', maxStack: 10 },
  { shortname: 'chocbar', name: 'Chocolate Bar', category: 'food', maxStack: 10 },
  { shortname: 'mushroom', name: 'Mushroom', category: 'food', maxStack: 20 },
  { shortname: 'meat.boar', name: 'Boar Meat', category: 'food', maxStack: 20 },
  { shortname: 'chicken.raw', name: 'Raw Chicken', category: 'food', maxStack: 20 },
  { shortname: 'humanmeat.raw', name: 'Raw Human Meat', category: 'food', maxStack: 20 },
  { shortname: 'wolfmeat.raw', name: 'Raw Wolf Meat', category: 'food', maxStack: 20 },
  { shortname: 'deermeat.raw', name: 'Raw Deer Meat', category: 'food', maxStack: 20 },
  { shortname: 'bearmeat', name: 'Bear Meat', category: 'food', maxStack: 20 },
  { shortname: 'fish.raw', name: 'Raw Fish', category: 'food', maxStack: 20 },
  { shortname: 'corn', name: 'Corn', category: 'food', maxStack: 20 },
  { shortname: 'pumpkin', name: 'Pumpkin', category: 'food', maxStack: 20 },
  { shortname: 'potato', name: 'Potato', category: 'food', maxStack: 20 },
  { shortname: 'waterjug', name: 'Water Jug', category: 'food', maxStack: 1 },
  { shortname: 'water', name: 'Water', category: 'food', maxStack: 1 },
  { shortname: 'water.purified', name: 'Pure Water', category: 'food', maxStack: 10 },

  // Traps
  { shortname: 'trap.bear', name: 'Snap Trap', category: 'traps', maxStack: 3 },
  { shortname: 'trap.landmine', name: 'Landmine', category: 'traps', maxStack: 3 },
  { shortname: 'autoturret', name: 'Auto Turret', category: 'traps', maxStack: 1 },
  { shortname: 'flameturret', name: 'Flame Turret', category: 'traps', maxStack: 1 },
  { shortname: 'guntrap', name: 'Shotgun Trap', category: 'traps', maxStack: 1 },
  { shortname: 'sam.site', name: 'SAM Site', category: 'traps', maxStack: 1 },

  // Construction
  { shortname: 'wall.external.high', name: 'High External Wall', category: 'construction', maxStack: 10 },
  { shortname: 'wall.external.high.stone', name: 'High External Stone Wall', category: 'construction', maxStack: 10 },
  { shortname: 'gates.external.high.wood', name: 'High External Wooden Gate', category: 'construction', maxStack: 1 },
  { shortname: 'gates.external.high.stone', name: 'High External Stone Gate', category: 'construction', maxStack: 1 },
  { shortname: 'barricade.metal', name: 'Metal Barricade', category: 'construction', maxStack: 3 },
  { shortname: 'barricade.sandbags', name: 'Sandbag Barricade', category: 'construction', maxStack: 5 },
  { shortname: 'barricade.concrete', name: 'Concrete Barricade', category: 'construction', maxStack: 3 },
  { shortname: 'barricade.wood', name: 'Wooden Barricade', category: 'construction', maxStack: 5 },
  { shortname: 'barricade.woodwire', name: 'Barbed Wooden Barricade', category: 'construction', maxStack: 3 },
  { shortname: 'lock.code', name: 'Code Lock', category: 'construction', maxStack: 1 },
  { shortname: 'lock.key', name: 'Key Lock', category: 'construction', maxStack: 1 },

  // Misc
  { shortname: 'workbench1', name: 'Work Bench Level 1', category: 'misc', maxStack: 1 },
  { shortname: 'workbench2', name: 'Work Bench Level 2', category: 'misc', maxStack: 1 },
  { shortname: 'workbench3', name: 'Work Bench Level 3', category: 'misc', maxStack: 1 },
  { shortname: 'furnace', name: 'Furnace', category: 'misc', maxStack: 1 },
  { shortname: 'furnace.large', name: 'Large Furnace', category: 'misc', maxStack: 1 },
  { shortname: 'campfire', name: 'Camp Fire', category: 'misc', maxStack: 1 },
  { shortname: 'box.wooden', name: 'Wood Storage Box', category: 'misc', maxStack: 1 },
  { shortname: 'box.wooden.large', name: 'Large Wood Box', category: 'misc', maxStack: 1 },
  { shortname: 'cupboard.tool', name: 'Tool Cupboard', category: 'misc', maxStack: 1 },
  { shortname: 'sleepingbag', name: 'Sleeping Bag', category: 'misc', maxStack: 1 },
  { shortname: 'bed', name: 'Bed', category: 'misc', maxStack: 1 },
  { shortname: 'research.table', name: 'Research Table', category: 'misc', maxStack: 1 },
  { shortname: 'mining.quarry', name: 'Mining Quarry', category: 'misc', maxStack: 1 },
  { shortname: 'small.oil.refinery', name: 'Small Oil Refinery', category: 'misc', maxStack: 1 },
  { shortname: 'water.purifier', name: 'Water Purifier', category: 'misc', maxStack: 1 },
  { shortname: 'stocking.small', name: 'Small Stocking', category: 'misc', maxStack: 1 },
  { shortname: 'stocking.large', name: 'Large Stocking', category: 'misc', maxStack: 1 },
  { shortname: 'kayak', name: 'Kayak', category: 'misc', maxStack: 1 },
  { shortname: 'fridge', name: 'Fridge', category: 'misc', maxStack: 1 },
  { shortname: 'locker', name: 'Locker', category: 'misc', maxStack: 1 },
  { shortname: 'vending.machine', name: 'Vending Machine', category: 'misc', maxStack: 1 },
  { shortname: 'wall.frame.shopfront', name: 'Shop Front', category: 'misc', maxStack: 1 },
  { shortname: 'door.hinged.metal', name: 'Sheet Metal Door', category: 'misc', maxStack: 1 },
  { shortname: 'door.hinged.toptier', name: 'Armored Door', category: 'misc', maxStack: 1 },
  { shortname: 'door.double.hinged.metal', name: 'Sheet Metal Double Door', category: 'misc', maxStack: 1 },
  { shortname: 'door.double.hinged.toptier', name: 'Armored Double Door', category: 'misc', maxStack: 1 },
]

export const itemCategories = [
  'weapons', 'ammo', 'medical', 'attire', 'tools', 'resources',
  'components', 'food', 'traps', 'construction', 'electrical', 'fun', 'misc',
] as const

export type ItemCategory = typeof itemCategories[number]
