90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...

Fixes 🍋

  • Fixed attribute functions not being able to be edited (and that were default).

Changes 🌽

  • Resolved an exception that happened with the DefaultAttributeRegistry.

Fixes 🍋

  • Resolved percentage formatting, should be more accurate now

Overview

There are breaking changes in this release. Ensure you back up your config(s) if possible. Mods relying on the beta version will have to be updated.

Welcome to the release of the new Data Attributes. This has taken a considerable amount of time to complete.

I am glad to have this opportunity to work on this project and be supported with the first ever public project I will personally release.

Additions 🍎

  • No more needing to leave the UI to your config json~ you can do everything you need to do in the UI!
  • Allowed easier control of the config menu, and added some new features.
    • A Reset option to reset your targeted attribute, refreshing all its entries to start anew.
    • A Remove option to remove the targeted entry of your choice.
    • A Edit option to edit the identifier to target a different entry.
    • A Add option to include new entries.
    • You can also add into default entries.
  • Added autocomplete that will appear while editing fields. This will show you currently registered entities and attributes when editing the respective id you want.
    • Press [ENTER] to quickly grab the first entry on the autocomplete.
  • Attribute components in configuration now will re-render in certain scenarios, allowing for a better experience with working with multiple attributes.
  • Improved logic with entering fields, commit changes by pressing [Done], and [Reload] to refresh to the latest config.
  • You can now actually use the search bar to look up the specific entries you wish to find.
    • Translations should be compatible in the language you choose as well as the attribute id.
      • e.g., looking up playerex:luck, or Luck should work.
  • You can now enable/disable Attribute Functions.

Changes 🌽

  • [BREAKING] Changed mockup of config JSON.
    • Config keys such as "functions"/"overrides"/"entity_types": { ... } have been replaced with "entries": { ... }.
    • This retains parity with the data-pack format.
  • [BREAKING] Changed Map<Identifier, Double> to Map<Identifier, EntityTypeEntry> for EntityTypeData.
    • This also includes a fallback value that gets the default registered base value for the specific attribute under that entity.
  • [BREAKING] Changed overall structure of config related class definitions. This will affect your config file considerably.
  • [BREAKING] Removed DefaultAttributeFactory.
  • [BREAKING] Changed Map<Identifier, List<AttributeFunction>> to Map<Identifier, Map<Identifier, AttributeFunction>>
    • This existed to avoid an odd situation that does not exist anymore.
  • Made some changes to certain logic internally and micro-optimizations.
  • Fixed CTD issues with editing function values.
  • Separated config entries from defaults using color coding & tooltips.
  • [BREAKING] Integrated diminishing returns as intended.
    • You must keep and/or target attribute min/max ranges between -1 & 1.
    • It is how it usually worked in the original DataAttributes, as unfortunately, a solution to implement diminishing returns on all attributes was not possible (at this time).

Fixes 🍋

  • Adjusted formatting of Whole formats to not go past two decimals.

Additions 🍎

  • Added a condensed way to format attribute values into the API through getFormattedValue.

Changes 🌽

  • Resolved an issue with entity-types/functions not applying properly if a mod/data-pack got to the entity-type id first.

Additions 🍎

  • Implemented a feature that reads data-packs and applies attribute modifications to the world based on order.
    • More documentation on this feature will come as the mod stabilizes.
    • For now, if you want to be aware of how to format your data-pack(s), look towards the source code of the next builds of PlayerEX/WizardEX.

Changes 🌽

  • Changed how configs and modded entries are applied.
    • Your config will appear sparse on startup, but when you go to a world (in an integrated server), it will show the extra modifications provided by loaded packs and mods.
    • You can overwrite these, and they will appear in your actual config. Your config will overwrite any data-pack or modded pack.
    • The UI will be overhauled to better assist in knowing what is supplied by datapacks/mods, but that will be in the later future.
  • Deprecated the DefaultAttributeRegistry to keep previous versions functional, but it will be removed before release.
  • Being able to override specific mods and being able to customize your data-packs will come in the future. For now, if you want to override something, use your config as it is the main source of truth.

Additions 🍎

  • We use Interface Injection for all API interfaces now. Rejoice.

Changes 🌽

  • Dropped WrapMethod in favor of an Inject that just will perform nearly the same way. Connector folks rejoice. You can play PlayerEX with this latest build now (somehow).
  • Edited some other mixins.
  • 1.21 will take some time to catch up, for I wish to go over DataAttributes again (primarily the DefaultAttributeFactory, I have big plans for it!)

Notes 🍋

  • Certain translation keys are not functional in this update.
  • The mod is relatively stable, but due to the lack of a certain feature with items, it will be in the alpha channel for now.
  • Take caution if you plan on using the mod (as usual with alpha builds).

Changes 🌽

  • Updated dependencies to 1.21 equivalent versions.
  • Changed internal networking to abide by version.
  • ItemFields have changed to fit 1.21 definitions.
  • 💖 The API now takes in RegistryEntry along with the targeted attribute.
    • This also goes for all events.
    • IEntityAttribute has also been extended to get its RegistryEntry.

Changes ⚙️

  • Now using WrapMethod on computation of modifier(s) to avoid unneeded recalculation.

Additions 💫

Implemented diminishing formula.

Additions 💫

API

  • Added getManager which decides the proper AttributeConfigManager via a world instance.
  • Added clientManager & serverManager respectively, which are self-explanatory.

Changes ⚙️

  • Cleaned up codebase, adjusting certain logic.
  • Updated Endec to match with wispforest's uploaded versions, and resolved issues with reading/writing Endec's that could cause a fatal exception.
  • Updated EntityAttributeSupplier (again).

Removals

  • Removed ConfigDefaults.
  • Removed the ability to access config through functions in the API.
  • Removed an attribute modified event that changed health. This should be optionally handled in a workspace that implements the API instead.

Additions 💫

  • Added in the API a way to fetch functions, entity-types, and overrides from an EntityAttribute.

Changes ⚙️

  • Resolved synchronization issues with the config manager, which caused issues when running DataAttributes on a server instance and connecting from a client.

Changes ⚙️

  • Addressed issue with the DefaultAttributeFactory continuing to attach extra config entries, causing unneeded duplications.

Changes ⚙️

  • Addressed issue with attribute initialization on LivingEntity instances.

Changes ⚙️

  • Adjusting the mod to a beta release cycle, updates will be less frequent.
  • It is getting to the point where it is functional enough to use without corruption.
  • Fixed possible NaN calculation when smoothness was 0. This is resolved by clamping the smoothness during calculation.
  • The only thing that may be incorrect is the diminishing scale, which will be addressed. Otherwise, documentation and cleanup will begin, and this mod will release with PlayerEX come time.

Changes ⚙️

  • Applied small fix to DefaultAttributeFactory.

Additions 💫

  • Added the DefaultAttributeFactory, which can be used in mods to add extra defaults to the config.
    • Currently, it is limited to hard-code,
  • Added EntityAttributeSupplier to the mod again.
    • Its purpose is just to be a wrapper on lazily evaluated EntityAttribute values.