Mobs Properties RandomnessСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (75)
release
6.1.10.0
6.1.10.013 сент. 2026 г.463Minecraft: 1.21.1neoforge
Что нового
# 6.1.10.0
* Added `target` field to properties inside `apply_properties`
* Defaults to the event's own `target` if omitted, so existing data packs behave the same.
When set, it overrides where that specific property is applied, independently of the event's `target` and of the other properties in the same `apply_properties` list.
E.g., a single event with a 50% chance can now apply one property to `"this"` and another to `"other"` at the same time.
# 6.1.9.0
* Added `target` field to conditions
* Defaults to `"this"`, used in events to decide which entity to check the conditions against.
Before, you couldn't check for conditions on `"other"` while applying properties to `"this"`. Now you can.
E.g., you can now apply an effect to `"this"` if the attacker (`"other"`) has a certain item.
This propagates to inner conditions too, so in `apply_properties`, nested modifiers, etc. you can decide to check conditions against `"this"` or `"other"`
# 6.1.8.0
* Added `days_passed` condition
# 6.1.7.2
* Fixed `health_left` check in `damaged`/`attack` events being inverted (was triggering outside the specified range instead of inside)
* Fixed `flat_health_left` in `damaged`/`attack` events using percentage by default and flat health when enabled, instead of the other way around
* Fixed `nbt` property with `boolean` type using a random chance instead of setting a `true`/`false` value
* Fixed `potion_effect`'s stackable `amplifier`/`duration` discarding the previously stacked value when a `cap` was set, instead of summing then clamping to the cap
# 6.1.7.1
* Fixed weather condition "thunder" not working
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a config option
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.9.0
6.1.9.05 сент. 2026 г.108Minecraft: 1.21.1neoforge
Что нового
# 6.1.9.0
* Added `target` field to conditions
* Defaults to `"this"`, used in events to decide which entity to check the conditions against.
Before, you couldn't check for conditions on `"other"` while applying properties to `"this"`. Now you can.
E.g., you can now apply an effect to `"this"` if the attacker (`"other"`) has a certain item.
This propagates to inner conditions too, so in `apply_properties`, nested modifiers, etc. you can decide to check conditions against `"this"` or `"other"`
# 6.1.8.0
* Added `days_passed` condition
# 6.1.7.2
* Fixed `health_left` check in `damaged`/`attack` events being inverted (was triggering outside the specified range instead of inside)
* Fixed `flat_health_left` in `damaged`/`attack` events using percentage by default and flat health when enabled, instead of the other way around
* Fixed `nbt` property with `boolean` type using a random chance instead of setting a `true`/`false` value
* Fixed `potion_effect`'s stackable `amplifier`/`duration` discarding the previously stacked value when a `cap` was set, instead of summing then clamping to the cap
# 6.1.7.1
* Fixed weather condition "thunder" not working
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a config option
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.8.0
6.1.8.05 сент. 2026 г.23Minecraft: 1.21.1neoforge
Что нового
# 6.1.8.0
* Added `days_passed` condition
# 6.1.7.2
* Fixed `health_left` check in `damaged`/`attack` events being inverted (was triggering outside the specified range instead of inside)
* Fixed `flat_health_left` in `damaged`/`attack` events using percentage by default and flat health when enabled, instead of the other way around
* Fixed `nbt` property with `boolean` type using a random chance instead of setting a `true`/`false` value
* Fixed `potion_effect`'s stackable `amplifier`/`duration` discarding the previously stacked value when a `cap` was set, instead of summing then clamping to the cap
# 6.1.7.1
* Fixed weather condition "thunder" not working
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a config option
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.7.2
6.1.7.24 сент. 2026 г.25Minecraft: 1.21.1neoforge
Что нового
# 6.1.7.2
* Fixed `health_left` check in `damaged`/`attack` events being inverted (was triggering outside the specified range instead of inside)
* Fixed `flat_health_left` in `damaged`/`attack` events using percentage by default and flat health when enabled, instead of the other way around
* Fixed `nbt` property with `boolean` type using a random chance instead of setting a `true`/`false` value
* Fixed `potion_effect`'s stackable `amplifier`/`duration` discarding the previously stacked value when a `cap` was set, instead of summing then clamping to the cap
# 6.1.7.1
* Fixed weather condition "thunder" not working
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a config option
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.7.1
6.1.7.123 авг. 2026 г.210Minecraft: 1.21.1neoforge
Что нового
# 6.1.7.1
* Fixed weather condition "thunder" not working
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a config option
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.7.0
6.1.7.022 авг. 2026 г.28Minecraft: 1.21.1neoforge
Что нового
# 6.1.7.0
* Stack traces are now hidden from errors in logs by default and can be enabled with a data pack
* Basically an error should show up much cleaner in the log
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.6.1
6.1.6.11 авг. 2026 г.155Minecraft: 1.21.1neoforge
Что нового
# 6.1.6.1
* Fixed On Hit events not checking for conditions before applying the damage multiplier
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.6.0
6.1.6.031 июл. 2026 г.55Minecraft: 1.21.1neoforge
Что нового
# 6.1.6.0
* Added `remove_potion_effects` and `remove_attribute_modifiers` properties
## Technical
* Properties, Conditions etc are now registry objects, like blocks and items
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.5.2
6.1.5.231 июл. 2026 г.9Minecraft: 1.21.1neoforge
Что нового
# 6.1.5.2
## Technical
* Fixed events being posted too early, not working
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.5.1
6.1.5.131 июл. 2026 г.15Minecraft: 1.21.1neoforge
Что нового
# 6.1.5.1
## Technical
* Fixed events being posted too early, not working
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.5.0
6.1.5.030 июл. 2026 г.25Minecraft: 1.21.1neoforge
Что нового
# 6.1.5.0
## Technical
* Changed how Registries work
* Now requires an event to register properties, conditions, etc
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.4.1
6.1.4.129 июл. 2026 г.19Minecraft: 1.21.1neoforge
Что нового
# 6.1.4.1
* Fixed `play_sound` not working if played from a player
# 6.1.4.0
* Added `has_owner` condition
# 6.1.3.2
* Updated for latest InsaneLib
# 6.1.3.1
* Disabled warning message when reloading by default
# 6.1.3.0
* Added message to chat when reloading generates errors or warnings
# 6.1.2.0
* Inverted how `priority` on mobs works.
# 6.1.1.1
* Fixed biome condition not working
# 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
# 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
# 6.0.1.3
* Fixed multiple boss bars flickering
# 6.0.1.2-beta
* Update to latest InsaneLib
# 6.0.1.1-beta
* Update to latest InsaneLib
# 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
# 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
## Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.3.2
6.1.3.218 июл. 2026 г.126Minecraft: 1.21.1neoforge
Что нового
## 6.1.3.2
* Updated for latest InsaneLib
## 6.1.3.1
* Disabled warning message when reloading by default
## 6.1.3.0
* Added message to chat when reloading generates errors or warnings
## 6.1.2.0
* Inverted how `priority` on mobs works.
## 6.1.1.1
* Fixed biome condition not working
## 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.3.1
6.1.3.115 июл. 2026 г.47Minecraft: 1.21.1neoforge
Что нового
## 6.1.3.1
* Disabled warning message when reloading by default
## 6.1.3.0
* Added message to chat when reloading generates errors or warnings
## 6.1.2.0
* Inverted how `priority` on mobs works.
## 6.1.1.1
* Fixed biome condition not working
## 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.2.0
6.1.2.010 июл. 2026 г.41Minecraft: 1.21.1neoforge
Что нового
## 6.1.3.0
* Added message to chat when reloading generates errors or warnings
## 6.1.2.0
* Inverted how `priority` on mobs works.
## 6.1.1.1
* Fixed biome condition not working
## 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
6.1.2.0
6.1.2.010 июл. 2026 г.9Minecraft: 1.21.1neoforge
Что нового
## 6.1.2.0
* Inverted how `priority` on mobs works.
## 6.1.1.1
* Fixed biome condition not working
## 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/<namespace>/mobs_properties_randomness/presets/mobs/` instead of `data/<namespace>/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
beta
6.1.1.0-beta
6.1.1.0-beta18 июн. 2026 г.100Minecraft: 1.21.1neoforge
Что нового
## 6.1.1.0-beta
* Changed some fields for Potion effects
* `hide_particles` -> `show_particles`: defaults to true now
* Added `show_icon`: defaults to true
* Fixed attribute modifiers erroring (failing to spawn the mob) if a modifier with the same id is already applied
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/mobs_properties_randomness/presets/mobs/` instead of `data/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
This is a quite easy example, but another real example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
alpha
6.1.0.0-alpha
6.1.0.0-alpha15 июн. 2026 г.87Minecraft: 1.21.1neoforge
Что нового
## 6.1.0.0-alpha
BREAKING CHANGES Please read carefully
* More presets!
* PLEASE NOTE that mobs presets now live in `data/mobs_properties_randomness/presets/mobs/` instead of `data/mobs_properties_randomness/presets/`.
* This version introduces modifiers, conditions and functions presets.
These are used if you have multiple conditions, modifiers and functions that repeat, and instead you can write once and reference.
* Example, you want to apply a global difficulty scaling modifier to many attribute values, but this is repetitive
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{
"modifier": "difficulty",
"operation": "multiply",
"easy": 0.75,
"hard": 1.5
}
]
},
"operation": "add_multiplied_base"
}
]
```
To avoid all this redundancy, you can use a modifier preset. in `data/ns/presets/modifiers/difficulty_scaling.json`. A modifier preset can contain as many modifiers as you want.
```json
[
{ "modifier": "difficulty", "operation": "multiply", "easy": 0.75, "hard": 1.5 }
]
```
So the properties can become
```json
[
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.max_health",
"id": "ns:bonus_health",
"amount": {
"value": 1,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
},
{
"property": "attribute_modifier",
"attribute": "minecraft:generic.movement_speed",
"id": "ns:movement_speed",
"amount": {
"value": 0.10,
"modifiers": [
{ "preset": "ns:difficulty_scaling" }
]
},
"operation": "add_multiplied_base"
}
]
```
Another example is:
[This is something that will heavily benefit from using presets](https://github.com/Insane96/EnhancedAI/blob/febf0ebe3db34dce1a0d1e9892afb6a2bd8243e4/src/main/resources/integrated_packs/mpr_integration/data/enhancedai/mobs_properties_randomness/mobs/overworld_zombies_equipment.json).
* Fixed summoning via `/mpr` command applying presets 5 times
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
5.1.7.3
5.1.7.325 мая 2026 г.3,5 тыс.Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
6.0.1.3
6.0.1.325 мая 2026 г.206Minecraft: 1.21.1neoforge
Что нового
## 6.0.1.3
* Fixed multiple boss bars flickering
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
5.1.7.2
5.1.7.26 мар. 2026 г.15,4 тыс.Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
6.0.1.2-beta
6.0.1.2-beta22 февр. 2026 г.340Minecraft: 1.21.1neoforge
Что нового
## 6.0.1.2-beta
* Update to latest InsaneLib
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
beta
6.0.1.1-beta
6.0.1.1-beta21 февр. 2026 г.27Minecraft: 1.21.1neoforge
Что нового
# Changelog
## 6.0.1.1-beta
* Update to latest InsaneLib
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
beta
6.0.1.0-beta
6.0.1.0-beta21 февр. 2026 г.18Minecraft: 1.21.1neoforge
Что нового
# Changelog
## 6.0.1.0-beta
* Added `set_component` item function
* You can set whatever data component you want on an item. The following example from the example data pack will make the target equip an iron ingot that can be eaten and used as a pickaxe. Numeric values can be replaced with #range object to generate random values.
```json
{
"property": "equipment",
"slot": "offhand",
"items": [
{
"item": "minecraft:iron_ingot",
"functions": [
{
"function": "set_component",
"components": {
"minecraft:food": {
"nutrition": {"#range": {"min": 2, "max": 6}},
"saturation": {"#range": 0.5}
},
"minecraft:tool": {
"rules": [
{
"blocks": "#mineable/pickaxe",
"speed": 6,
"correct_for_drops": true
}
]
},
"minecraft:max_damage": 453,
"minecraft:damage": 0
}
},
{
"function": "set_drop_chance",
"drop_chance": 2
}
]
}
]
}
```
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and seems to no longer work?) as scaling is now an attribute)
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
alpha
6.0.0.0-alpha
6.0.0.0-alpha19 февр. 2026 г.27Minecraft: 1.21.1neoforge
Что нового
# Changelog
## 6.0.0.0-alpha
Ported to 1.21.1
Mod support will be added back in the future. Let's see how this goes first.
I've also updated the Example Data Pack which was broken in 1.20.1 too.
The only difference between 1.20.1 and 1.21.1 are attribute modifier operations.
### Missing
* Set (Raw) NBT for items
* Scaling (pehkui is no longer needed (and supported))
* Serene Seasons support
* Game stages (hasn't updated past 1.20.3)
release
5.1.7.1
5.1.7.117 февр. 2026 г.557Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.7.0
5.1.7.017 февр. 2026 г.57Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.6.0
5.1.6.017 февр. 2026 г.26Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.5.0
5.1.5.011 янв. 2026 г.969Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.4.3
5.1.4.310 янв. 2026 г.88Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.4.0
5.1.4.010 янв. 2026 г.26Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.4.0
5.1.4.06 янв. 2026 г.107Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.3.0
5.1.3.04 янв. 2026 г.89Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.2.3
5.1.2.321 дек. 2025 г.459Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.2.2
5.1.2.217 дек. 2025 г.133Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.2.1
5.1.2.116 дек. 2025 г.46Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.2.0
5.1.2.014 дек. 2025 г.99Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.1.1.0
5.1.1.013 дек. 2025 г.118Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.1.0.2-beta
5.1.0.2-beta5 дек. 2025 г.263Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.1.0.1-beta
5.1.0.1-beta4 дек. 2025 г.110Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.1.0.0-beta
5.1.0.0-beta7 нояб. 2025 г.995Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.24
5.0.2431 окт. 2025 г.394Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.23
5.0.2316 окт. 2025 г.358Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.22
5.0.221 окт. 2025 г.621Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.2
5.0.229 сент. 2025 г.88Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.21
5.0.2127 сент. 2025 г.117Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.20
5.0.2025 сент. 2025 г.93Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.19
5.0.1919 сент. 2025 г.164Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.18
5.0.1819 сент. 2025 г.41Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.17
5.0.1719 сент. 2025 г.45Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.15
5.0.1518 сент. 2025 г.59Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.15
5.0.1518 сент. 2025 г.32Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.14
5.0.1415 сент. 2025 г.81Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.13
5.0.1322 авг. 2025 г.1,1 тыс.Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
5.0.12
5.0.124 авг. 2025 г.434Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.0.11-beta
5.0.11-beta24 июл. 2025 г.636Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.0.10-beta
5.0.10-beta23 июл. 2025 г.80Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.0.9-beta
5.0.9-beta22 июл. 2025 г.79Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
beta
5.0.8-beta
5.0.8-beta18 июл. 2025 г.107Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.7-alpha
5.0.7-alpha15 июл. 2025 г.163Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.6-alpha
5.0.6-alpha9 июл. 2025 г.133Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.5-alpha
5.0.5-alpha6 июл. 2025 г.86Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.4-alpha
5.0.4-alpha5 июл. 2025 г.55Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.3-alpha
5.0.3-alpha4 июл. 2025 г.40Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.2-alpha
5.0.2-alpha3 июл. 2025 г.52Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.1-alpha
5.0.1-alpha2 июл. 2025 г.40Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
alpha
5.0.0-alpha
5.0.0-alpha15 июн. 2025 г.469Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
4.10.16
4.10.1623 мар. 2025 г.4,3 тыс.Minecraft: 1.20.1forge
Что нового
https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.1/changelog.md
release
4.10.13
4.10.1310 дек. 2024 г.2,3 тыс.Minecraft: 1.20.1forge
Что нового
[https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.x/changelog.md#41013](https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.x/changelog.md#41013)
release
4.10.11
4.10.1114 сент. 2024 г.2,4 тыс.Minecraft: 1.20.1forge
Что нового
[https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.x/changelog.md#41011](https://github.com/Insane96/MobsPropertiesRandomness/blob/1.20.x/changelog.md#41011)
release
4.0.3
4.0.31 окт. 2023 г.8,8 тыс.Minecraft: 1.18.2forge
release
4.7.2
4.7.21 окт. 2023 г.4,5 тыс.Minecraft: 1.20.1forge
release
4.5.3
4.5.31 окт. 2023 г.235Minecraft: 1.19.4forge
release
4.2.2
4.2.21 окт. 2023 г.3,6 тыс.Minecraft: 1.19.2forge
release
4.0.2
4.0.21 окт. 2023 г.123Minecraft: 1.18.2forge