promotional bannermobile promotional banner
premium banner
Allows you to use the contexts field in data packs to control the scope of attribute effects

Description

Added contexts in tetra's module, material, and improvement.
The usage of module and improvement is the same.
Below are examples in material and module.

material:

{
  "key": "test",
  "category": "bone",
  "primary": 5,
  "secondary": 1.9,
  "tertiary": 4.5,
  "durability": 120,
  "integrityCost": 1,
  "integrityGain": 5,
  "magicCapacity": 108,
  "toolLevel": "minecraft:stone",
  "toolEfficiency": 4.5,
  "tints": {
    "glyph": "bone_glyph",
    "texture": "bone"
  },
  "textures": [
    "bone",
    "crude"
  ],
  "material": {
    "items": [
      "minecraft:heart_of_the_sea"
    ]
  },
  "requiredTools": {
    "hammer_dig": "minecraft:wood"
  },
  "contexts": {
    "test": {
      "attributes": {
        "generic.attack_speed": 114514
      },
      "effects": {
        "test": [10, 5]
      }
    }
  }
}

module:

{
    "replace": true,
    "slots": [ "sword/blade" ],
    "type": "tetra:basic_major_module",
    "improvements": [
        "tetra:sword/basic_blade/",
        "tetra:sword/shared_blade/",
        "tetra:sword/shared/",
        "tetra:shared/"
    ],
    "variants": [
        {
            "materials": [ "tetra:wood/", "tetra:stone/", "tetra:metal/", "tetra:gem/", "tetra:bone/" ],
            "key": "basic_blade/",
            "attributes": {
                "generic.attack_speed": -1.9
            },
            "effects": {
                "sweeping": 1
            },
            "tools": {
                "cut": [ 1, 2 ]
            },
            "aspects": {
                "edged_weapon": 2,
                "breakable": 2
            },
            "durability": -20,
            "tags": [ "forge:swords" ],
            "contexts": ["test"],
            "extract": {
                "primaryAttributes": {
                    "generic.attack_damage": 1
                },
                "durability": 0.9,
                "integrity": -1,
                "magicCapacity": 1,
                "glyph": {
                    "textureX": 0
                },
                "availableTextures": [ "metal", "shiny", "grainy", "crude" ],
                "models": [ { "location": "tetra:item/module/sword/blade/basic/" } ]
            }
        }
    ]
}