Summary
Attribute Setter Is a simple lightweight mod that can change the default attributes of any living entity or item through datapacks, inspired by Jackiecrazy's Attributizer and Custom Item Attributes(CIA). This mod was created for modpack creators and server owners to easily balance entities and items, changing their health, damage, follow range, etc...
Supports CuriosAPI
Although we(I) don't support trinkets yet(it's harder to implement, trinkets doesn't have the event that I use in Curios), if you want to add attributes to any curios, just set the slot to the appropriate name.
Server Side Only Required
If you are a server owner, your players DO NOT need to download this mod. Simply put it into your mods folder and configure it as you wish. Of course it works on singleplayer as it has an integrated server running. Although keep in mind that your players won't see the changed attributes, they'll still work, but the items will appear with their vanilla attributes.
Client Side Optional
If installed in client-side, besides showing the changed attributes, this mod also collapses item attributes into vanilla "green attributes" if they're already present
| Vanilla Behaviour | AttributeSetter |
|---|---|
![]() |
![]() |
Example
The following file attributes.json will change all creepers' health to 100, instead of the normal 20.
{
"minecraft:creeper": [
{
"attribute": "minecraft:generic.max_health",
"value": 100,
"operation": "BASE"
}
]
}

For more info on how to configure AttributeSetter, visit the github page or the discord
If you are building a modpack
you might be interested in some of my other mods for modpacks: AttributeSetter RPGDamageOverhaul FoodAttributes
Or Claims n Raids for servers/smp!
How to Install AttributeSetter (Mod)
AttributeSetter by httpedor is verified for Fabric, Forge, Neoforge, Quilt across Minecraft versions 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1 (latest release: 2.3-neoforge, file size: 217 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1) and platform (Fabric, Forge, Neoforge, Quilt).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge, Quilt.
- Move the downloaded AttributeSetter file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
## Block editing (new folder:
attributesetter/block)A new target type for changing block properties. Blocks have no NBT or data components, so those selectors are unavailable here, but id, tag, regex,
@namespace, *, and the ! / && / || combinators all work.- Hardness**: retunes
destroySpeedwithmultiplier(default 1.0) andoffset(default 0.0), result clamped to zero or above. Blocks vanilla marks unbreakable are skipped unless you pass an explicitvalue. - Explosion resistance**: same multiplier/offset rules on
explosionResistance. Aliasblast_resistance. - Mining speed**: applies multiplier/offset to the player's dig speed through the break-speed event. This one is per player, dynamic, and stacks with other break-speed modifiers. Alias
break_speed. - Replace**: swaps a block for another every time it generates or is placed (worldgen, entity and dispenser placement, pistons, fluids). Blocks already in loaded chunks convert when the game next writes that position.
- Remove**:
REMOVE/DELETEin theblockfolder turns every generated or placed copy into air and removes the block's item.
## Recipe editing (new folder:
attributesetter/recipe)Select recipes, then remove or rewrite them. Edits apply during the datapack reload and ride the game's own recipe sync to clients, so
/reload is enough and deleting the entry restores the recipe.- Remove**:
{ "minecraft:diamond_sword": "remove" }. - Replace result**:
replace_resultwithwithandcount. Accepts a full item string, so components work. - Replace ingredient**:
replace_ingredientwithmatch(an item selector, every matching ingredient is swapped) andwith(an id,#tag, or array). - New recipe selectors: recipe id (
minecraft:x,regex:,@mod, combinators),type:minecraft:smelting/recipe_type,recipe_type_regex,ingredient:/contains_ingredient,result:/contains_result. The ingredient and result matchers take a full item selector as their value. replace_resultandreplace_ingredientrebuild the recipe, so they cover shaped and shapeless crafting, smelting/blasting/smoking/campfire, and stonecutting. A recipe type the mod cannot rebuild is left alone with a log warning.removeworks on any recipe.
## Removing items, entities, and blocks
REMOVE / DELETE was expanded well past what 2.2.1 did.A removed **item** now disappears from:
- the creative inventory and creative search, and therefore JEI
- every recipe (recipes producing it are dropped, and recipes that can no longer be crafted because an ingredient lost all its items are dropped, but a tag ingredient that only lost one item is kept)
- every loot table (block, mob, chest, fishing, gift rolls)
- villager and wandering trader offers
- the world (dropped item entities are deleted as they spawn)
- player inventories and ender chests, swept once a second, so pre-existing copies go away too
A removed **entity** nev
...
Fixed AttributeInjection duration and stacking glitch
Fixed concurrent access crash on AttributeSetterAPI usage
Added food setters
Added tooltip setters
Added caching for a bunch of Selectors(HUUUGE performance boost)
Added Attribute Merging
Added isEnemy selector
Added MaxStack setter
Added isFood selector
Added hasDurability selector
Added isEnchanted selector
Added isPotion selector
Added isMonster selector
Added isCreature selector
Better support for /reload
New documentation
- Fixed attributes not being applied to baby entities
- Added regex selectors
- Added attribute conversion
- Added attribute dependency
- MANY bugfixes, too many to list.
- Better compat with ApothicAttributes
- Better attribute merging
- Better performance(rewrote the entire project)
- The ability to select items and entities based on NBT
- The ability to select items and entities based on more than one tag(or nbt) at once
- The ability to select all items and entities that DON'T fit the selector
- The "durability" operator, which changes an item's max durability.
Removed need for UUIDs altogether, although you can still specify them
Removed need for UUIDs altogether, although you can still specify them
Fixed bug where if you had two items in the same curios slot(E.g two rings) the attributes didn't stack
Changed how curio slots works, check Github
Entity default operation now is BASE
Fixed wrong values appearing as green attributes
Entity default operation now is BASE
Fixed wrong values appearing as green attributes

