Armor Set Bonuses (Forge)

Armor Set Bonuses (Forge)

3M Downloads

This is the Forge version of ASB.

As of version 19.8.0, this mod now requires Architectury API (Fabric/Fo... - Mods - Minecraft - CurseForge

The fabric version can be found here: Armor Set Bonuses (Fabric) - Mods - Minecraft - CurseForge

---

This mod adds armor sets to the game. When a full set is worn you will get a certain bonus. It is also extremely configurable using JSON configs, perfect for modpack creators!

It does generate some default armor sets, so if you want to use it without configuration you will be able to for vanilla armor.

The configuration options allow you to create any sort of armor set bonus, with any armor you want? Want to mix and match? Go for it! Want to have a bonus that gives 20 hearts? Sure why not (but you'll have to configure it)!

Feature List

- Default generated armor sets on first load.

- Any amount of armor sets can be created, with any combination (you don't have to specify ALL armor slots)

- Multiple set support, a piece of armor can be a part of more than one set

- "mixAndMatch" armor pieces, you can have a set be completed by multiple items (more below)

- full and partial set bonuses

- Tooltips! With shift key interaction

- Real-time tooltip update, indicating what armor in the set is currently worn

- Potion effect support

- Attributes support

- Mod support for: potions, attributes and items

- Interaction support with other mobs (attack and interact)

- Self interaction, apply effects and also apply immunities to effects

- Dedicated Curios (Forge only) and Trinkets (Fabric only) Support

- LivingEntity support, any living mob can have the bonuses if they have the requirements (Forge only)

- Custom tooltips!

- Conditions, bonuses can be activated based on specified conditions, such as "in water".

JSON/Config Specifications

  • armorSetName                              STRING - REQUIRED                              This is the DISPLAY NAME for the armor set
  • head                                              OBJECT - OPTIONAL - SetPiece                             See Below
  • chest                                             OBJECT - OPTIONAL - SetPiece                              See Below
  • legs                                               OBJECT - OPTIONAL - SetPiece                              See Below
  • boots                                             OBJECT - OPTIONAL - SetPiece                              See Below
  • mainHand                                     OBJECT - OPTIONAL - SetPiece                               See Below
  • offHand                                         OBJECT - OPTIONAL - SetPiece                               See Below
  • additionalSetPieces                      OBJECT ARRAY - OPTIONAL - AdditionalSetPieces     See Below
  • partialBonusRequiredAmount       NUMBER - CONDITIONAL                                        Required if you define 'partialSetBonuses' below. Can only be 2 or 3.
  • partialSetBonuses                        OBJECT ARRAY - OPTIONAL - Bonus                     See Below
  • fullSetBonuses                             OBJECT ARRAY - REQUIRED - Bonus                    See Below
  • hideGeneratedTooltip                   BOOLEAN - OPTIONAL                                             Hides the mod-generated tooltip that appears on set-bonus items.
  • customTooltips                             STRING ARRAY - OPTIONAL                                    Adds custom lines to the tooltips (each new entry is a new line). Can be used alongside "hideGeneratedTooltip".

Armor Set Bonuses - Custom Tooltips Example - Pastebin.com

SetPiece Object:

  • itemKey                                        STRING - REQUIRED                               Example: "minecraft:iron_helmet"
  • mixAndMatch                               STRING ARRAY - OPTIONAL                   Same as itemKey, but as a string array

AdditionalSetPieces Object:

  • itemKey                                        STRING - REQUIRED                               Example: "minecraft:iron_helmet"
  • mixAndMatch                               STRING ARRAY - OPTIONAL                   Same as itemKey, but as a string array

There is no need to specify what curios slot to look in. The mod will search all available slots for your specified item. Same goes for Trinkets.
Armor Set Bonuses - AdditionalSetPieces Example - Pastebin.com

Bonus Object:

  • type                                              STRING - REQUIRED                               Possible Values: "effect", "attribute"
  • name                                            STRING - REQUIRED                               This is the key of the effect/attribute. See lists below.
  • value                                            NUMBER - REQUIRED                             Effect: Level of the effect. Attribute: Amount to add (can be negative or decimal).
  • modifierUUID                               STRING - CONDITIONAL                         MUST be defined if "type"="attribute". This must be unique.
  • description                                   STRING - OPTIONAL                               Set a custom description for the effect.
  • attributeOperation                        NUMBER - OPTIONAL                             Change how the attribute is modified. 0 = "ADDITION", 1 = "MULTIPLY_BASE", 2 = "MULTIPLY_TOTAL". Default = ADDITION
  • interactionType                            STRING - OPTIONAL                               Change who the bonus is applied to. Possible values: "self", "attack", "interact", "immunity", "aoe". (aoe not yet implemented).
  • interactionDuration                      NUMBER - OPTIONAL                             Set a custom duration, intended for use when the interactionType is not "self". If undeclared, default is 300 (ticks).
  • hideBonusDescription                 BOOLEAN - OPTIONAL                            Hides this bonus entry from the tootip. Useful for secret effects.
    • conditions                                    OBJECT ARRAY - OPTIONAL - conditions  See below                   

Armor Set Bonuses - Immunity Example - Pastebin.com

Armor Set Bonuses - hideBonusDescription Example - Pastebin.com

Conditions Object:

  • type                                              STRING - REQUIRED                               Possible Values: "inLava", "inRain", "inWater", "onBlock", "isUsingMainHand", "isUsingOffHand"
  • extra                                             STRING - CONDITIONAL                         This is currently only used for the "onBlock" condition - you must specify the block key (eg. minecraft:dirt)

Armor Set Bonuses - Conditions Example - Pastebin.com

Important Information

  • All modifierUUIDs must be unique. You can use this website to generate a random one: https://www.uuidtools.com/minecraft
  • The 'mixAndMatch' field is for you to literally mix and match armor for a single set.
  • When this mod is first loaded, there will be some examples generated in "config/armorsets" for you to use.
  • To register a new armorset, just throw a new file into "config/armorsets" and configure as you please.
  • If you have any errors, check out the latest.log - it will tell you what's wrong.

  

List of Vanilla Effects

minecraft:speed

minecraft:slowness

minecraft:haste

minecraft:mining_fatigue

minecraft:strength

minecraft:instant_health (I advise against using this one)

minecraft:instant_damage (I advise against using this one)

minecraft:jump_boost

minecraft:nausea

minecraft:regeneration

minecraft:resistance

minecraft:fire_resistance

minecraft:water_breathing

minecraft:invisibility

minecraft:blindness

inecraft:night_vision

minecraft:hunger

minecraft:weakness

minecraft:poison

minecraft:health_boost (Use this one to give extra hearts)

minecraft:absorption (I advise against using this one)

minecraft:saturation

minecraft:luck

minecraft:unluck

minecraft:fatal_poison

minecraft:slow_falling

minecraft:conduit_power

minecraft:dolphins_grace

minecraft:bad_omen

minecraft:hero_of_the_village

minecraft:glowing

List of Vanilla Attributes

minecraft:generic.max_health

minecraft:generic.follow_range

minecraft:generic.knockback_resistance

minecraft:generic.movement_speed

minecraft:generic.flying_speed

minecraft:generic.attack_damage

minecraft:generic.attack_knockback

minecraft:generic.attack_speed

minecraft:generic.armor

minecraft:generic.armor_toughness

minecraft:generic.luck

minecraft:zombie.spawn_reinforcements

minecraft:horse.jump_strength

Need more help?

Please check your latest.log first as it will try to explain any issues upfront.

Please feel free to join my discord sever should you need any support!

https://discord.gg/R4yaRqr2gN