- Fixed metadata deep clone not cloning targets by value
- Fixed metadata deep clone not cloning targets by value
- Fixed console spam about magic values
- Fixed console spam about magic values
# 5.8.0
**`Note: This update includes various optimizations, new mechanics, improvements, bug fixes, and additional API features. Please report any issues you find by opening an Issue or letting us know in the appropriate Discord channel.`**
General
-------
- Added 1.21.3 and 1.21.4 support
- Lots of micro-optimizations for performance (thank you, Taiyou!)
- Added `Configuration.General.AnnounceOpReload` to `config-general.yml` to set whether Mythic reload announcements are sent to all online operators.
- Optimized various projectile/entity selection mechanics and removed stream usage in key areas (e.g., `IEntitySelector`, `PacketEntityRenderer`).
- Added a global option to automatically apply FancyDrops to all items (disabled by default).
- Added `/mm m spawn [type] [amount] @targeter` command.
Random Spawning
---------------
-**Multiple Mobs with Weights**: You can now specify multiple mobs in a Random Spawner entry with weighted values, for example:
```yaml
Deeps:
Types:
-RegularZombie 100
-BigZombie 50
-GiantZombie 5
Worlds:world
Chance:0.1
Priority:1
Action:ADD
PositionType:LAND
```
-**Structures Support**: Added a `Structures:` list option allowing you to limit a Random Spawner to spawn mobs only in specific structures:
```yaml
Nether_Fortress:
Types:
-blaze_wisp 100
Worlds:world_nether
Chance:0.02
Priority:1
Action:ADD
PositionType:LAND
Structures:
-'minecraft:fortress'
-'incendium:forbidden_castle'
```
-**New Config Options**:
-`RandomSpawning.MaxGenerationAttempts` to limit how many attempts the cluster generator tries when spawning.
-`RandomSpawning.LocalSpawningLimit` and a new `MaxLocalMobs` option on individual Random Spawners to override local limits.
-**Renamed**: The old `GroupMultiplier` option is now `LocalGroupMultiplier` in `config-spawning.yml`, and its default value logic has changed.
- Various improvements to cluster generation and structure detection logic.
Mobs
----
- Streamlined variant options to `Options.Variant` for wolves, cats, frogs, villagers, etc., allowing for custom variants.
- Added ability to configure **custom mob spawner items**, including the ability to set spawn delay, spawn range, etc.
- Added Wolf-specific `Options.Variant` for custom wolf variants.
Mechanics
---------
### `NEW: followPath`
- An aura causing the target mob to walk along a defined path.
### `NEW: log`
-`log{message="Debug to console with variables <caster.var.test>"}` for simple logging.
### `NEW: setTextDisplay`
-`setTextDisplay{text="text here"} @Target` mechanic for displaying text.
### `NEW: openTrades`
- Opens a merchant menu for the targeted player.
-`realTrade/real` attribute determines if trades are with a real villager.
### `NEW: movePin`
-`movePin{pin=X}` mechanic to relocate pins.
### `NEW: directionalVelocity`
-`directionalVelocity{yaw=50}` applies velocity to the target based on specified angles.
### `NEW: rotateTowards`
- Rotates the caster toward the target.
### `NEW: setChunkForceLoaded`
- Force-loads a chunk at the target location.
### `NEW: resetAI`
- Reverts a mob’s AI to factory defaults.
### `NEW: matchRotation`
-`matchRotation{of=@targeter}` to match rotation of a given target.
### `NEW: clearExperience`
- Resets a player's experience points.
### `NEW: setProjectileDirection`
-`setProjectileDirection{magnitude=1}` for controlling projectile direction.
### `NEW: lookAtTarget`
- An AI goal causing a mob to look at its current target.
### `UPDATED: dropItem`
- Now includes a `then=` skill section targeting dropped items.
### `UPDATED: setSpeed`
- Respects the configured movement speed; defaults to mob's base if none is set.
### `UPDATED: consumeSlotItem`
- Properly removes items with `0` amount.
### `UPDATED: shoot`
- Now supports `item=<material>` for custom projectiles (e.g., `item=REDSTONE`).
### `UPDATED: particleOrbital`
- Terminates after the caster dies/despawns and supports placeholders for `ticks`.
### `recoil`
- Fixed recoil on 1.21+; placeholders can be used in recoil values.
This release includes many new features, bug fixes, and optimizations. If you encounter any issues or unexpected behavior, please report them in the appropriate channels!