HomeJavaModsGear Upgrades
Gear Upgrades
ModsJava

Gear Upgrades

Lets you upgrade equipment using Proficiency, Levels, and Materials in an anvil.

⬇ Download on CurseForge

The author built this one for Minecraft 1.20.1 on Forge. On other versions it may install and then do nothing.

Gear Upgrades — screenshot 1Gear Upgrades — screenshot 2Gear Upgrades — screenshot 3Gear Upgrades — screenshot 4Gear Upgrades — screenshot 5

 

This mod lets you earn Proficiency for valid upgradeable items by doing things such as:

You can upgrade items in an anvil with the required proficiency and levels, as well as the necessary material(s).

Upgrades can be reset by combining with Crying Obsidian (configurable).

You can Limit Break items by combining two of the same item that have maxed base upgrades, so two times with 5 slots both need 5 upgrades, and the resulting item is the left item with 5+1 slots. This can only be performed once. (configurable)

This mod does not come packaged with default upgrades, as this is designed solely for modpack devs.

 

For pack devs:

There is also a new Potion Effect, "Mastery", which increases the new "Mastery' attribute (gearupgrades:mastery) by 0.25 per level. This multiplies all basic proficiency-gaining methods, excluding usage in Anvils.

Commands also exist that affect the item held in the main hand:

/gearupgrades <Player> <add/set/remove> <amount>

You can also make any item grant proficiency by adding a "Mastery" (double) tag to an item's Tag, which works similarly to repairing items in anvils.

 

Included is an example datapack and resourcepack to give you some basic ideas on how to set things up.

Here is information on how datapacks work for this mod:

refinements/name.json
 
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), an item registry name (minecraft:iron_sword), or an item tag (#minecraft:axes), non-UpgradeTypes can be inverted (["#forge:armors", "!minecraft:diamond_chestplate"]) 
- 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 (auto-detects slots for attributes based on slots curio fits)
 - curios:slot > curios that have this slot (auto-detects slots for attributes)
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 the Material is needed to upgrade (optional, default: 1)
allowed_steps: Integer List, what upgrade 'step' this upgrade can be applied during
color: String, either Chat Formatting Color name or Hex (#XXXXXX) (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"]) (if UpgradeType is curio, slots is ignored and auto-detected) (if UpgradeType is ArmorItem and this is blank, defaults to appropriate armor slot)
  - valid slots:
    - "minecraft:mainhand"
    - "minecraft:offhand"
    - "minecraft:head"
    - "minecraft:chest"
    - "minecraft:legs"
    - "minecraft:feet"
 
 
Example:
{
  "id": "storming",
  "key": "refinement.misc.storming",
  "incompat": ["obliterating"],
  "type": ["minecraft:nether_star"],
  "proficiency_cost": 100,
  "material": "minecraft:nether_star",
  "material_count": 8,
  "anvil_levels": 30,
  "bonuses": [
    {
      "property": "minecraft:generic.attack_damage",
      "amount": 5,
      "operation": "addition",
      "slots": ["minecraft:mainhand"]
    },
    {
      "property": "minecraft:generic.movement_speed",
      "amount": 0.1,
      "operation": "multiply_base",
      "slots": ["minecraft:mainhand", "minecraft:offhand"]
    },
    {
      "property": "minecraft:generic.armor",
      "amount": 0.1,
      "operation": "multiply_base",
      "slots": ["minecraft:offhand"]
    },
    {
      "property": "minecraft:generic.armor_toughness",
      "amount": 0.1,
      "operation": "multiply_base",
      "slots": ["minecraft:offhand"]
    }
  ],
  "allowed_steps": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  "color": "light_purple"
}
 
{
  "id": "speedy",
  "key": "refinement.curio.speedy",
  "type": ["curios:necklace"],
  "proficiency_cost": 5,
  "material": "#forge:ingots/gold",
  "material_count": 2,
  "bonuses": [
    {
      "property": "minecraft:generic.movement_speed",
      "amount": 0.02,
      "operation": "multiply_base"
    }
  ],
  "allowed_steps": [1, 2],
  "color": "aqua"
}
 
{
  "id": "hilt_change",
  "key": "refinement.sword.hilt_change",
  "type": ["#minecraft:swords"],
  "proficiency_cost": 80,
  "material": "#forge:ingots/netherite",
  "material_count": 1,
  "bonuses": [
    {
      "property": "minecraft:generic.attack_speed",
      "amount": 0.12,
      "operation": "addition"
    }
  ],
  "allowed_steps": [1],
  "color": "yellow"
}

 

upgrade_slots/name.json
items: String List:: Item registry name, or an item tag (#minecraft:shovels), supports inversion (["#forge:armors", "!minecraft:diamond_chestplate"]) 
max_slots: Integer, total base upgrades an item can have

Example:
{
  "items": ["minecraft:nether_star"],
  "max_slots": 2
}

 

 

 

 

 

 

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more