All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Gear Core

Gear Core

by fzzyhmstrs • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Gear Core Heading Banner

Bisect Hosting Banner

New as of 0.3.0, Gear Sets!

Create custom gear set bonuses via datapack! Create RPG set bonuses for any combination of items, the sets can have tiers, custom formatting, and can be applied to virtually any item! Tooltips for your set bonuses appear automatically in the relevant sets, and there is even EMI support for displaying all of the sets, their items, and the bonus descriptions!

Gear sets support Attributes, including custom attributes, and Equipment Modifiers. Currently only attributes can be added strictly via datapack, modifiers have to be created in code before being referenced in a gear set. Somewhere in my "want to do" list is datapack-based equipment mods, so stay tuned!

Here is an example Gear Set from Imbued Gear. All of the bonuses are active in this picutre: Example Gear Set Tooltip

And here is the JSON used to create it. Soon I'll have documentation of the format in wiki.

{
  "name": "set.imbued_gear.lich_kings",
  "active_formatting": [
    "GREEN",
    "BOLD"
  ],
  "items": {
    "tag": "imbued_gear:lich_kings_gear"
  },
  "bonuses": {
    "2": {
        "name":"lich_kings_amplifier",
        "attribute": "amethyst_core:spell_amplifier",
        "amount": "2.0",
        "operation": "ADDITION"
    },
    "4": {
      "name":"lich_kings_duration",
      "attribute": "amethyst_core:spell_duration",
      "amount": "0.15",
      "operation": "MULTIPLY_TOTAL"
    },
    "5": "imbued_gear:horde_master"
  }
}

Equipment Modifiers

Library mod that facilitates the creation of equipment modifiers that can apply standard Minecraft entity attributes or track a variety of events like taking damage, killing mobs, mining blocks, and more. These modifiers aren't affected by grindstones, enchanting tables, or other Minecraft features. These modifiers use the Fzzy Core modifier framework; as such they can be arranged into lineages that pass from one to the next rather than simply stacking numerically.

Current Item Support and Example

Gear Core has built-in modification support for ArmorItem, ToolItem, BowItem, CrossBowItem, ShieldItem, TridentItem, and Trinket, but provides a framework (with the help of Fzzy Core) for making any other type of item modifiable.

Example of Equipment Modifiers in action via Gearifiers:

https://i.imgur.com/aPJanNb.png

Modification Features of an Equipment Modifier

Equipment modifiers can affect the following aspects of equipment:

Attribute Modifiers

Standard Minecraft Attributes can be attached to equipment modifiers. These attributes stack on top of whatever innate attributes the gear has and on top of other modifications.

Durability Modifier

The durability of the gear can be modified using a Fzzy Core PerLvlI instance, which allows for flat changes to durability or percentage changes (or both!).

Post Hit Events

Post-hit event consumers can be added to an Equipment Modifier. These consumers are fired on the postHit method of ItemStack, allowing implementations to perform actions after a player has hit something.

Post Mine Events

Similar to the post-hit events, consumers can also be added for postMine, which fires after a player has successfully broken a block.

On Use Events

Add activated abilities to items! These events fire on the use method, like any right click action. The events only fire if the items innate use isn't successful.

Incoming Damage Modification and Event

Damage modification functions can be attached to equipment modifiers, both allowing for event code upon a player getting damaged, and for damage modification (reduction by 10% of all magic damage, for example).

Mob Kill Events

An event that fires when a player kills a mob, similar structure to all the other events, implementations pass a special consumer to the Modifier for it to process.

Other Modifiers

Other types of modifiers can be attached to equipment modifiers, with a ModifierProcessor available so an implementation can decide what to do with them.

Modifier Rolling System

Gear Core provides a modifier randomization system for adding of random modifiers to certain gear. Check out Gearifiers for a thorough example of this system in action. The short story of how this system works:

Modifier Targets

Gear Core adds EquipmentModifierTargets. These work is a similar manner to EnchantmentTarget in Minecraft, but they are an extendable class rather than an enum. When the modifier rolling system is picking modifiers, it will only pick modifiers from the proper targets.

Weight

Like loot and other things in Minecraft, modifiers can be provided with a weight. This weight works exactly as you'd expect.. every modifier who matches up to the target is put into a pool X times based on it's weight, and the total pool is used for random modifier rolls.

Rarity

Modifiers can be given a rarity. This is an enum that defines the formatting of the modifier on the item tooltip, with the different rarities providing different colors (and some bold) |Rarity|Format| |---|---| |Legendary|Gold, Bold| |Epic|Light Purple| |Rare|Aqua| |Uncommon|Dark Green| |Common|Gray| |Bad|Dark Red| |Really Bad|Dark Red, Bold|

Toll

Each modifier takes a certain toll on the rolling pool. The pool starts with a certain amount of toll it can spend, with each modifier added spending it's toll out of that pool until there isn't enough left for the next roll to succeed. The default toll is 5, with a default pool of about 5.75 on average.

Providing different tolls allows for fine tuning of selection probability.

Persistence and Availability for Rolling

A modifier can be created to be persistent, which prevents it from being removed on a reroll. This might be used for "innate" modifiers or for "cursed" modifiers.

Modifiers can also be marked as unavailable for random selection. This might be used, again, for "innate" modifiers that aren't part of a random chance system but are simply provided with every instance of the item.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.19.4
Fabric Quilt
1d ago 1
1.19.3
Fabric Quilt
1d ago 1
1.19.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.19.4
Fabric Quilt
1d ago 1
1.19.3
Fabric Quilt
1d ago 1
1.19.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.19.4
Fabric Quilt
1d ago 1
1.19.3
Fabric Quilt
1d ago 1
1.19.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.19.4
Fabric Quilt
1d ago 1
1.19.3
Fabric Quilt
1d ago 1
1.19.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.20.x
Fabric Quilt
1d ago 1
1.19.4
Fabric Quilt
1d ago 1
1.19.3
Fabric Quilt
1d ago 1
1.19.x
Fabric Quilt
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
1.19.3
Fabric
1d ago 1
1.19.x
Fabric
1d ago 1
1.18.2
Fabric
1d ago 1
  • Impelement new Fzzy Core 0.5.0 modifier defaults system.
Fixed items that extended KillTracking no longer triggering off of kills.
  • Added ConfigEquipmentModifier, that configs can hook into to disable/enable modifiers as needed.
  • Re-implemented the attribute modification system to work with the new Fzzy Core 0.3.1 SlotId system, fixing several issues with attributes not applying or applying weirdly.
Added new ModifierTargets
  • RANGED: ranged weapons (bows, crossbows, tridents)
  • ANY_WEAPON: combines WEAPON (melee weapons) and the new RANGED (ranged weapons)

Added BaseFunctions with basic attack and damage functions and methods for combining functions into a collected function.
### Versions below 1.20 are no longer updated. Version 1.20.2 is todo.

  • Re-implemented equipment modifiers with the new Fzzy Core 0.3.0 modifier system.
  • Overhauled modifier hooks, cleaning up and optimizing a lot of the code there.
  • Fix over-usage of memory from garbage object creation.
  • Ranged persistent projectiles (Arrows, Tridents, etc) now proc the onAttack hooks for modifiers.
Further fix over-caching issues
Further fix over-caching issues
Further fix over-caching issues
Further fix over-caching issues
  • Fixed issue with over-caching of gear sets on the client in certain situations. Gear sets are no longer cached in the same way at all, and are only recached on network packet receipt.
  • Fixed the BLANK fallback modifier adding duplicated references to itself to the targetMap everytime a non-modified piece of equipment was queried.
  • Fixed issue with over-caching of gear sets on the client in certain situations. Gear sets are no longer cached in the same way at all, and are only recached on network packet receipt.
  • Fixed the BLANK fallback modifier adding duplicated references to itself to the targetMap everytime a non-modified piece of equipment was queried.
  • Fixed issue with over-caching of gear sets on the client in certain situations. Gear sets are no longer cached in the same way at all, and are only recached on network packet receipt.
  • Fixed the BLANK fallback modifier adding duplicated references to itself to the targetMap everytime a non-modified piece of equipment was queried.
  • Fixed issue with over-caching of gear sets on the client in certain situations. Gear sets are no longer cached in the same way at all, and are only recached on network packet receipt.
  • Fixed the BLANK fallback modifier adding duplicated references to itself to the targetMap everytime a non-modified piece of equipment was queried.
  • Fixed client gear sets not syncing properly on reload or on join.
  • Fixed client gear sets not syncing properly on reload or on join.
  • Fixed client gear sets not syncing properly on reload or on join.
  • Fixed client gear sets not syncing properly on reload or on join.
## Datapack driven gear set bonuses are added! See the project description for an overview and example of this new system!

  • Added onAttack method to Modifiers.
  • Added tick support to Modifiers.
  • Fix equipment with multiple types of modifiers not initializing correctly.
## Datapack driven gear set bonuses are added! See the project description for an overview and example of this new system!

  • Added onAttack method to Modifiers.
  • Added tick support to Modifiers.
  • Fix equipment with multiple types of modifiers not initializing correctly.
## Datapack driven gear set bonuses are added! See the project description for an overview and example of this new system!

  • Added onAttack method to Modifiers.
  • Added tick support to Modifiers.
  • Fix equipment with multiple types of modifiers not initializing correctly.
## Datapack driven gear set bonuses are added! See the project description for an overview and example of this new system!

  • Added onAttack method to Modifiers.
  • Added tick support to Modifiers.
  • Fix equipment with multiple types of modifiers not initializing correctly.
Fixed issue with Randoms not being... random.
Port to 1.20/1.20.1
Port to 1.19.4
  • Updated fzzy-core dependency
  • Added a beneficial parameter to EquipmentModifier.Rarity, allowing for filtering by that.
  • added addModifierAsIs for putting modifiers back onto gear without trying to play with the heirarchy.
  • made the modifiers toll public so other mods can hook into random rolling properly.
  • Updated fzzy-core dependency
  • Added a beneficial parameter to EquipmentModifier.Rarity, allowing for filtering by that.
  • added addModifierAsIs for putting modifiers back onto gear without trying to play with the heirarchy.
  • made the modifiers toll public so other mods can hook into random rolling properly.
  • Update backend based on new fzzy-core modifier types
  • Fix how trinket modifiers with attributes are applied to avoid erasing modifiers added by other mods in NBT.
  • Update backend based on new fzzy-core modifier types
  • Fix how trinket modifiers with attributes are applied to avoid erasing modifiers added by other mods in NBT.
  • Fixed issue where itemstacks were being given item ids without actually needing one, leading to weird modifier propagation issues.
  • Remove the modifier collation function. It was causing problems, and led to certain attributes like attack damage nobeing represented accurately.
  • Fix issue where modifiers would "stack" their attributes under certain conditions.
  • Fixed issue where itemstacks were being given item ids without actually needing one, leading to weird modifier propagation issues.
  • Remove the modifier collation function. It was causing problems, and led to certain attributes like attack damage nobeing represented accurately.
  • Fix issue where modifiers would "stack" their attributes under certain conditions.
Gear Core Icon
Download Gear Core
Select game version
Select platform