Skip to content

Andrew6rant/Tiered

 
 

Repository files navigation

Tiered [heavy beta]

Tiered is a Fabric mod inspired by Quality Tools. Every tool you make will have a special modifier, as seen below:

Tiered tooltips There is also a Reforging station added to reroll item attributes:

Show Reforging Station

Tiered Reforging Station The Reforging Station holds a small inventory, click on the drawer to open it.

Tiered was originally made by Draylar, and is being updated and maintained by Andrew6rant.

Customization

Tiered is almost entirely data-driven, which means you can add, modify, and remove modifiers as you see fit. The base path for modifiers is data/modid/item_attributes, and tiered modifiers are stored under the modid of tiered. Here's an example modifier called "Hasteful," which grants additional dig speed when any of the valid tools are held:

{
  "id": "tiered:hasteful",
  "verifiers": [
    { "tag": "c:pickaxes" },
    { "tag": "c:shovels" },
    { "tag": "c:axes" },
    { "tag": "c:hoes" }
  ],
  "style": {
    "color": "white"
  },
  "weight": 8,
  "tooltip_image": [10],
  "tooltip_border":  ["FFFFFFFF"],
  "reforge_cost": 5,
  "attributes": [
    {
      "type": "tiered:generic.dig_speed",
      "modifier": {
        "name": "tiered:hasteful",
        "operation": "MULTIPLY_BASE",
        "amount": 0.10
      },
      "tooltip": {
        "style": {
          "color": "gray"
        },
        "text": [
          "tiered:hasteful.tooltip",
          "tiered:hasteful.tooltip_2"
        ]
      },
      "optional_equipment_slots": [
        "MAINHAND",
        "OFFHAND"
      ]
    }
  ]
}

Tiered currently provides 7 custom attributes: Attack Range, Crit Chance, Dig Speed, Projectile Damage, Reach, Size, and Step Height. Dig Speed increases the speed of your block breaking (think: haste), Crit Chance offers an additional random chance to crit when using a tool, and Size changes the held and dropped item rendering.

Verifiers

A verifier (specified in the "verifiers" array of your modifier json file) defines whether or not a given tag or tool is valid for the modifier.

A specific item ID can be specified with:

"id": "minecraft:apple"

and a tag can be specified with:

"tag": "c:helmets"

Tiered provides 6 tags (c:helmets, c:chestplates, c:leggings, c:boots, c:shields, and c:fishing_rods) for your convenience.

Reforging Cost

Reforging an item's modifier costs experience points (not levels). Each item's cost can be configured individually. The default setup is a Terraria-like system where higher rarities cost more to reforge. Use a value of 0 to make the reforge free, and a negative number to add experience to the player instead of removing it.

Tooltips

Tiered provides six customization options regarding tooltips.

  • color changes the text color
  • tooltip_image specifies the border style (see below)
  • tooltip_border determines the line colors of the border. It is an array of 0xAARRGGBB hexadecimal formatted strings. Use one value to color the entire border, or two to specify the start and end colors.
  • no_tooltip can be used in the name section of an attribute to prevent it from showing. For example, this can be useful for the reach and attack_range modifier types, as they are often used together and can clutter a tooltip.
  • tooltip is an optional section in the attributes array. It allows you to add additional text to the tooltip. The text array is for translation keys, and there is an optional style section as well (otherwise, the text is colored to the above style)

Here is the formatting for the border style. This image allows for up to 16 styles (0-15):

debug

And here is how it looks in-game:

debug_inventory

You can use any sized image (with a power of 2 resolution (128x, 256x, 512x, etc, like Vanilla Minecraft) to make as many borders as you like. Here is an example with 64 styles:

debug-big

The border image is stored in an array, to allow for animated borders. Use one value to have a static border, or multiple to animate it (in the frame order specified, with the last index being the framerate in milliseconds).

License

Tiered is licensed under MIT. You are free to use the code inside this repo as you want.

Packages

No packages published

Languages

  • Java 100.0%