Attributes

Published by Azzier on
Supported MCreator versions
2023.1
2023.2
2023.3
Tags / plugin type
Java plugin
Procedures
Variables
MCreator plugin
Downloads:
4377
Upvotes: 120
About the plugin

Currently active fork: 
https://mcreator.net/plugin/103319/attributes-nerdy-edition


The plugin enables the modification of attributes, including Vanilla, Forge, Custom Attributes, and those from other mods. It also allows for the addition of attribute modifiers to items and the creation of custom attributes.

Forge  1.20.1, 1.19.4, 1.19.2, 1.18.2

NeoForge 1.20.1

Important Information

  • Ensure that you are utilizing MCreator 2022.2 (including snapshots) or a more recent release.
  • To use this plugin, it is essential to have the Java Plugins enabled.
  • Prior to updating the plugin, create a backup of your workspace.
  • Read changes :>.
  • Full changelog available on github. 
  • Make sure you use attribute blocks with an entity that is a (sub) type of an Entity Living 

Features:

  • Create custom attributes and add them to any entity you want.
    • Now Custom Attribute can be Persistent (only for Players) 
  • Set/get value of attribute from entity.
  • Set/get value of custom attribute from entity.
  • Has attribute ⁠⁠... 
  • Add modifier ... of an attribute .. to an item .. on slot ..
  • Create new modifier with UUID ... named ... with value ... and operation ...
  • Modifier variable for Attribute Modifiers
  • Add/Remove modifier ... of an attribute ... of an entity ... (optionally as permanent)
  • Remove modifier with UUID ... of an attribute ... of an entity ...  (optionally as permanent) 
  • Has modifier ... of an attribute ... entity ...
  • Has modifier with UUID ... of an attribute ... entity ...

NOTE: 

Please ensure that each new modifier for the game is assigned a unique UUID to maintain consistency in their addition and removal. To generate a random UUID, you can utilize resources such as uuidtools.com/minecraft or any other suitable method. Additionally, it is important to verify that the entity has the desired attribute before setting or retrieving.has attribute check

Custom AttributeModifiers

 

License

  • Licensed under the GNU Lesser General Public License, version 3.0  
  • Mods created with this tool may be closed-source and/or distributed with a different license.
  • Appropriate credit must be provided to the creators and maintainers of this software.
  • Forked versions of this software must be distributed under the same license as this with attribution if distributed.
  • Changes must be stated if any modified works are to be distributed.
  • Under no circumstances can you state that the original creator endorses modified works.

Last changes:

V2.3.8:
- Added two new Forge attributes to lists for 1.20.1: EntityReach and BlockReach
- Removed forge attribute ReachDistance from 1.20.1
V2.3.7:
- Added procedure to add modifier to an item, old system for adding attribute modifiers to items is now deprecated (will be deleted later)
V2.3.6:
- Added Forge 1.20.1 support
- Added NeoForge 1.20.1 support
- Localisation changes
- Procedures code cleanup
V2.3.5:
- Limited the available entities in the gui to being LivingEntites
- Added possibility do add attribute to all Monsters, Animals, Water Animals, Golem Mobs, Ambient Creatures
- Added entity attribute modifiers
- Removed dependency from create new modifier
- Localisation changes
Project members
Lead developer
Contributor
License
GNU General Public License version 3 (GPLv3)

Plugin downloads
2.3.8 MCreator 2023.3 ONLY - attributes-2-3-8-2023-3.zipUploaded on: 09/20/2023 - 10:31   File size: 96.65 KB
2.3.8 MCreator 2023.2 ONLY - attributes-2-3-8-2023-2.zipUploaded on: 09/20/2023 - 10:31   File size: 96.66 KB
2.3.8 MCreator 2023.1 ONLY - attributes-2-3-8-2023-1.zipUploaded on: 09/20/2023 - 10:31   File size: 96.66 KB

Comments

I am trying to modify the code to add attribute events to each entity from an entity tag json, however the code is being overwritten when compiling with the attribute mod element being locked. Unsure if this is an issue with the plugin generator or the plugin itself, but just thought I should make it something you are aware of.

Unsure if bug or feature. Applying a new modifier of an attribute seem to override the original attributes on an armor item. This is easily seen if its applied via enchantment book. It also seems to not be removed if the enchanted armor piece is unequipped.
Non-Enchanted Helm <https://imgur.com/a/AVWwOGg>
Enchanted Helm <https://imgur.com/a/0CRteoN>
Procedure <https://imgur.com/a/tHtKDPU>

As you can see, it added the max health boost like I wanted the enchantment to do, but removed the original attributes and it seems like the boost is not being removed when the enchanted helm is unequipped.

I could be doing something wrong and need to "capture" the original max_health value before the armor piece is equipped though. Good and useful plugin though for sure.

((LivingEntity) entity).getAttribute(net.minecraft.entity.ai.attributes.Attributes.Attributes.MAX_HEALTH).getValue() - superfluous: the second "Attributes".
((LivingEntity) entity).getAttribute(net.minecraft.entity.ai.attributes.Attributes.MAX_HEALTH).getBaseValue()) - superfluous: the last closing parenthesis

hey! been using this plugin and it's been a lifesaver. just curious, will you be adding the forge attributes? if not, would it be much work to figure out how to add them myself? i think they'd be very helpful to a lot of people because they're attributes like gravity, reach and swimspeed. thank you for making this plugin, it's a lifesaver

I seem to be having an issue with custom attributes. I have set up the workspace similarly to how it is presented in your provided screenshots, however the console throws an exception and closes the game. This appears to be caused by a null value of the attribute.

My workspace is set up as shown: https://prnt.sc/ShsICqgLHy-A
And the console dump here: https://pastebin.com/a0cnG6VH

I have attempted to both regenerate base code and restart MCreator to no success. The default attributes seem to be working as expected.

Thanks for the quick response! Interesting how it works like that, I assumed it would have worked given EntityPlayer extends EntityLiving - I wonder if thats something you will have to look into? And not to add onto the many requests im sure you've recieved, but support for custom entity tags would be excellent for this type of application!

Also just to add onto this discussion - changing the "Entry for adding attribute" to EntityPlayer works like you describe, however if I leave that as EntityLiving and change the procedure to "Is subtype EntityLiving" then the same issue will still occur, even if these two entity types allign.

Im having a bit of a issue with the plugin. When using the procedure for "get value of custom attribute" it seems to only get the value of the base, ignoring any attributes granted by equipment

https://imgur.com/dSlgwtd