To clarify: GunItem is an ItemData (which is a type of Datablock), which is different to an Item. An Item is an instance of an ItemData, just like a Player is an instance of a PlayerData.
Datablocks are downloaded to the client when they join a server, and so you cannot modify the variables on them (safely). Datablocks determine some base stats of the item, things that should not change, such as its name or its mass. Instances are copies of that datablock, but they can have a position, rotation, velocity, etc. and they are actually visible in-game.
jes00 is talking about an item instance, Quartz is talking about an item datablock.
Do you want to create a new type of item (ItemData), or do you just want to spawn an item (Item)?