	#id: 
	String, internal name for the upgrade, the string stored in NBT to access the data
	
	#key: 
	String, localization key
	
	#incompat: 
	String List, id of upgrades this is incompatible with (bidirectional), if incompatible with itself, it can be applied only once
	
	#type: String List, entries must either be an UpgradeType (built-in grouping) or an item registry name
	 - Valid UpgradeTypes:
	 - armor > ArmorItem
	 - head > ArmorItem that equips to Head slot
	 - chest > ArmorItem that equips to Chest slot
	 - legs > ArmorItem that equips to Legs slot
	 - feet > ArmorItem that equips to Feet slot
	 - shield > ShieldItem
	 - melee_weapon > SwordItem or AxeItem or TridentItem
	 - sword > SwordItem
	 - axe > AxeItem
	 - ranged_weapon > BowItem or CrossbowItem or TridentItem
	 - bxbow > BowItem or CrossbowItem
	 - bow > BowItem
	 - xbow > CrossbowItem
	 - trident > TridentItem
	 - digger > DiggerItem (axe, hoe, pickaxe, shovel)
	 - digger_only > DiggerItem, excluding AxeItem
	 - curios > any curio (choose slot in RefinedBonus)
	 
	#proficiency_cost: Integer, proficiency required to upgrade
	
	#anvil_levels: Integer, amount of XP Levels used when upgrading (optional, default: 5)
	
	#material: String, (tag or registry name) material used in Anvil right slot when upgrading
	
	#material_count: Integer, how many of Material is needed to upgrade (optional, default: 1)
	
	#allowed_steps: Integer List, what upgrade 'step' this upgrade can be applied during
	
	#color: String, Chat Formatting Color (optional, default: white)
		- valid ChatFormatting Colors:
		 - aqua
		 - black
		 - blue
		 - dark_aqua
		 - dark_blue
		 - dark_gray
		 - dark_green
		 - dark_purple
		 - dark_red
		 - gold
		 - gray
		 - green
		 - light_purple
		 - red
		 - white
		 - yellow
		 
	#bonuses: RefinedBonus List
	 - property > String, Attribute registry name
	 - amount > Double, attribute modifier value
	 - operation > String: 
		- "addition", 
		- "multiply_base", 
		- "multiply_total"
	 - slots > String List: what slot(s) the attribute modifier is active in (optional, default: ["minecraft:mainhand"])
	  - valid slots:
		- "minecraft:mainhand"
		- "minecraft:offhand"
		- "minecraft:head"
		- "minecraft:chest"
		- "minecraft:legs"
		- "minecraft:feet"
		- "curios:slotname"