Update Changelogs authored by Ashijin's avatar Ashijin
[[_TOC_]] [[_TOC_]]
# 5.11.0
General
-------
- Added support for 1.21.10
- Dropped support for 1.19.X, 1.20.2, 1.20.6, and 1.21.3
- Kept support for 1.20.1, 1.20.4, 1.21.1, and 1.21.4+
- Rewrote `/mm i import` and improved import of NBT, display, and MiniMessage lore
- Moved most custom menu logic into the base plugin; menus now require Premium or RPG
- Moved custom command handling from RPG into Premium
Optimiations
------------
- Added `ShareComponents` option to deduplicate identical mechanics, targeters, and conditions
- Optimized placeholder and component memory usage via flyweighting
Compatibility
-------------
- Improved model application timing to further reduce flickering
- Updated Lands support to the latest version
- Updated LibsDisguises integration, disguising mobs before spawning to reduce flickering
- Removed mcstats.org reporting
- Disabled ShopGUIPlus support temporarily
Mechanics
---------
### NEW: fear
- Added `fear` aura mechanic causing targets (including players) to run around uncontrollably
### NEW: TRAIL particle
- Added `TRAIL` particle with `color`, `duration`, and `source=@targeter`
### NEW: forEachPin
- Added `forEachPin{pin=X;skill=Y}` for executing a mechanic once per pin location
- The active pin location is exposed via `@Pin`
### NEW: VariableMove
- Added `VariableMove` mechanic to move variables across names/registries, with optional `createnew`
### NEW: determineCondition
- Added `determineCondition` mechanic for dynamic condition evaluation in metaskills
### Velocity
- `velocity` mechanic no longer alters components that are not specified
- Recoil movement smoothed further
### Misc
- Stun mechanic now defaults to type `#stun`
- `blockwave` now uses the target block’s material when unspecified
- Added `inheritExpirationTime` to `VariableMove`
- Improved projectile hit detection against sub-hitboxes
Conditions
----------
### NEW: MetaskillCondition
- Added `MetaskillCondition` to let metaskills determine condition results
### NEW: isSibling
- Added `isSibling` condition to check sibling mob relationships
### Targets Condition Improvements
- `targets` condition may now specify a targeter instead of relying on inherited targets
### Enhancements
- Placeholder support added to `TargetWithin` and `TargetNotWithin`
- Metaskill conditions may now parse skill parameters
- Added error catching to `BlockType`
Targeters
---------
### NEW: @EscapeLocation
- Added targeter that finds a nearby Enderman-like escape location
### NEW: @EntitiesNearPin
- Added targeter for entities around a pin location
### Location Targeters
- Added `surface` and `surfaceTolerance`
Mobs
----
### NEW: Copper Golem (1.21.10)
- `Options.WeatheringState`
- `Options.Waxed`
### NEW: Mannequin (1.21.10)
- `MannequinOptions.Immovable`
- `MannequinOptions.Description`
- `MannequinOptions.Pose`
- `MannequinOptions.Skin`
- `MannequinOptions.Cape`
- `MannequinOptions.Elytra`
- `MannequinOptions.Model: CLASSIC/SLIM`
- `MannequinOptions.Player`
### Other Mob Additions
- Added `Options.Variant` for cow, chicken, and pig
- Added `Options.RandomizeProperties` to disable vanilla random mob variation
Triggers
--------
### NEW: onDismounted
- Added trigger for when an entity is dismounted
Placeholders
------------
### Numeric Placeholder Improvements
- Added `Long` variable type
- Added `.round` and `.precision.X` meta keywords
### Static Placeholder Optimization
- Added static placeholder pre-parsing
- Improved runtime performance and post-reload caching
### Misc
- Added experimental `<centertext>` placeholder
Items
-----
- Added `ItemVariable` drop type for item-handling mechanics
- Improved `/mm i import` handling of NBT and MiniMessage content
- Added `Options.SkinID` for head items
- Changed item version format to `major.minor.patch` (up to 255.255.255)
- Added `drop:` prefix for item variables
API
---
- Added RandomDouble bias (API-only)
- Added icon template API for custom menus
- Expanded templated menu icon functionality
- Added more placeholder/variable APIs and RandomDouble bias configuration
Bug Fixes & Optimizations
-------------------------
- Added placeholder support to projectile gravity
- Added placeholder support to bonus damage fields
- Added `bonusDamageModifiers/bdm` to damage mechanics
- Improved BlockMatcher error handling
- Fixed mob spawn reason incorrectly being `PATROL`
- Fixed vanilla overrides overwriting mob options on chunk reload
- Fixed owner and parent AI goals on newer versions
- Fixed `~onSpawnOrLoad` not firing when no `~onSpawn` triggers existed
- Fixed multiple particle issues on newer versions
- Fixed projectile inaccuracy at extreme coordinates
- Fixed projectile sub-hitbox detection
- Fixed aura attachments not being removed when expired
- Fixed aura errors and concurrency issues on Folia
- Fixed numerous Folia regressions (projectiles, auras, delays, summoning)
- Fixed item attribute stacking issues
- Fixed player heads on 1.21.10
- Fixed invalid Base64 skull textures by auto-padding
- Fixed NPEs in meta skills, drop-table-less mobs, and onKnockbackEntity
- Fixed various BlockMatcher issues and improved error logging
- Fixed import command failing on non-Paper servers
- Fixed config loading issues caused by missing newline
- Fixed placeholder spam and stat placeholder timing issues
- Fixed recoil mechanic issues
- Fixed debug spam from meleeattack goal
- Fixed damage breaking in prior build
- Fixed look mechanic on no-AI entities
- Fixed skull-texture crashes in mob types
- Fixed plugin not loading on 1.21.10
- General refactoring and internal cleanup across systems
# 5.10.0 (Release) # 5.10.0 (Release)
## General ## General
...@@ -110,295 +283,6 @@ ...@@ -110,295 +283,6 @@
- Fixed immutable list errors with glow on 1.21.8 - Fixed immutable list errors with glow on 1.21.8
- Fixed `setOwner`/`removeOwner` for all tameable types - Fixed `setOwner`/`removeOwner` for all tameable types
# 5.9.5
Bug Fixes
---------
- Updated some dependencies
- Fixed items with attributes not stacking when they should
- Fixed certain durability-related things not using data from the new durability components
- Fixed some errors with level modifiers
- Fixed several issues with recoil effect on newer versions
- Fixed the freezeFacing option for the stun mechanic being inverted
# 5.9.4
Bug Fixes
---------
- Added `ignoreEntities` for raytraceTo mechanic
- Fixed `ignorePassable=false` in raytrace mechanics phasing through barrier blocks
# 5.9.3
Bug Fixes
---------
- Fixed some issues with ignoreSameFaction target filter
# 5.9.2
General
-------
- Added `teleportToWorld=true/false` to `GoToOwner/Parent` AI Goals.
- Add "goal/g" aliases to runaitargetselector so they match the error message
- Added `%mythic_stat_...%` papi placeholder
- Added `<target.distanceSq>` and `<trigger.distanceSq>` placeholders
Conditions
----------
### NEW: CompareValues
Bug Fixes
---------
- Fixed suicide mechanic not counting the mob as damaging itself closes #1584
- Fixed speech bubbles having yaw/pitch inverted on newer versions
- Fixed MountMe mechanic maybe
- Fixed MapList elements not working for configured item NBT
- Fixed IllegalArgumentException with vanilla loot table drops closes #1949
- Fixed error with mob types with copying mob spawners closes #1951
- Fixed error in shield mechanic closes #1955
- Fixed NPE in `<skill.targets>` placeholder closes #1961
- Fixed ClientboundSetEntityDataPacket error on 1.21.4
- Fixed ops being put into every faction in the PermissionFactionProvider
- Fixed StackOverflowError on non-english servers
- Fixed plugin not loading when a menu icon is misconfigured
# 5.9.1
Bug Fixes
---------
- Fixed VariableMath mechanic not supporting double variables
- Fixed some bugs with ItemMatcher
- Fixed moveTowardsTargetConditional AI goal
- Fixed bouncing projectiles
- Fixed several other issues with projectiles
- Optimized projectiles that don't have hit skills
- Fixed `Options.Color` not working on potions
- Fixed error where projectiles with insanely high velocity could crash the server
- Fixed raytrace error on 1.21.5
- Fixed custom damage stats not triggering onDamaged auras
- Fixed `hitself` not working on projectiles
# 5.9.0
General
-------
- Added `/pins regionRedefine` command.
- Changed pack icons to use Mythic item syntax.
- Scaling Equations and `LevelModifiers` can now work with any stats.
- Added step and lerp functions to all numeric placeholders
```
step(e, x) { 0, x < e; 1, x >= e
lerp(a, b, r)
```
Mechanics
---------
### NEW: swingOffhand
- Added `swingOffhand` mechanic.
### NEW: setEntityPose
- Added `setEntityPose{pose=X}` mechanic.
### NEW: setItemGroupCooldown
- Added `setItemGroupCooldown{group=namespace:key;ticks=20}` mechanic.
### Hit
- Added `scaleByAttackCooldown` to hit mechanic (scales damage based on weapon attack cooldown).
### Leap
- Noise now defaults to `0` on the `Leap` mechanic.
### MetaSkill
- Added `snapshotStats=true` to `MetaSkill` mechanic.
### Missile
- Added `startWithParentVelocity` option to `missile` mechanic.
### Projectiles
- Added HitTargeter to projectile type mechanics
hitTarget htr accepts an entity targeter. Entities targeted by htr would be processed through onHit and gain immune delay
### Slash
- Add `specificStep/ss` to SlashMechanic
### Totem
- `faceAwayFromCaster=true` option added to Totem mechanic.
- `hugSurface=true` option added to Totem mechanic.
### Wait
- New special keyword mechanic `wait`
- Will pause the skill tree until a condition is met
Conditions
----------
### NEW: itemGroupOnCooldown
- Added `itemGroupOnCooldown{group=namespace:key}` condition.
### NEW: Server Version Conditions
- Added `serverAfter{version=1.21.4;inclusive=true}`, `serverBefore{version=1.21.4;inclusive=false}`, and `serverIsPaper` conditions.
### Stance
- Changed default `strict` value to `true` for the `stance` condition.
Targeters
---------
- Fixed several bugs with `@FloorOfTarget` targeter.
- Changed default `faulty=false` for location selector option.
- Added `relative=true/false` to `@RingAroundOrigin` targeter.
### NEW: `@PlayerLocationByName`
### NEW: `@PredictedTargetLocation`
`@PredictedTargetLocation{ticks=X}`
- Targets the predicted location of the caster's target in the next X ticks based on their velocity
Triggers
---------
- Renamed `onTridentHit` to `onProjectileHit`, `onTridentThrow` to `onProjectileThrow`.
- Added `onProjectileLand` trigger.
Placeholders
------------
### NEW: Distance Placeholders
- Added `<target.distance>` and `<trigger.distance>` placeholders.
### NEW: Epoch Placeholders
- Added `<utils.epoch>`, `<utils.epoch.millis>`, and `<utils.epoch.ticks>` placeholders.
Items
-----
### Vanilla Loot Table Drop
- Added new drop type `- vanillaLootTable minecraft:table_name` to drop items from vanilla loot tables and data packs.
### BlockStates Component
- Added support for `BlockStates` component to specify block states on items:
```yaml
TestBlockStates:
Material: OAK_SLAB
Display: 'Waterlogged Slab'
Options.Placeable: true
BlockStates:
- type top
- waterlogged true
```
### Glider Component
- Added `Glider: true` option to items to implement the Glider component.
### UUID & Timestamp Options
- Added `Options.GenerateUUID: true/false` and `Options.GenerateTimestamp: true/false` to assign a UUID or timestamp to items on generation.
API
---
### NEW: Event Methods
- Exposed event methods.
- Added `MythicSkillEvent` when a skill is called.
### NEW: Crucible & RPG API
- Exposed API for Crucible and RPG features.
### NEW: Packet Display Entities API
- Exposed more API methods for packet-based display entities.
### NEW: Threat Table API
- Exposed threat table map.
### REMOVED: Deprecated Equipment Slot Method
- Removed super-old deprecated method of referencing equipment slots by slot number.
### AI Goals
- Upgraded `ownerTarget` and `ownerAttacker` AI goals to be used by any mob; added `parentAttacker` and `parentTarget` AI goals.
- Refactored owner interfaces for consistency.
Bug Fixes & Optimizations
-------------------------
- General refactoring and internal cleanup.
- Fixed terminable `onTerminate` skill not working in some cases.
- Fixed logic bug with projectile target filters.
- Fixed various mob options not applying since refactor.
- Fixed several bugs arising from stats refactor.
- Fixed API `get` method for max stack size.
- Fixed `IllegalArgumentException` in `ItemMatcher`.
- Fixed `NoSuchMethodError` with projectiles on 1.21.5.
- Fixed bugs in new pet AI features.
- Fixed async error in `MythicSkillEvent`.
- Fixed initial display packet bullet rotation not being used when spinning.
- Fixed an error occurring when a player joins on 1.21.5.
- Fixed MEG bullets on totems not rotating with the spawning entity.
- Fixed NPE with drops introduced recently.
- Fixed breakage with drop weights.
- Fixed last build breaking equipment.
- Fixed Nexo drops not working in equipment.
- Fixed equippable component applying even on pre-1.21.3 versions.
- Fixed certain blocks not working with block‐based bullets.
- Fixed `swingArm` mechanic on newer versions.
- Fixed multiple errors when loading custom mechanics.
- Fixed `MythicProvider` being registered too late in some cases.
- Fixed typo in `PreventStingerLoss` option.
- Fixed issues with `scaleByAttackCooldown` when hitting multiple targets.
- Fixed several bugs with `@FloorOfTarget` targeter.
# 5.8.2
## Bug Fixes / Other
- Optimized Packet Entities
- Optimized Projectiles
- TargetSelf will now ignore all other filters
- Removed some minor error logging
- Fixed ENO including caster regardless of condition when targetself = true
- Fixed HitTargeter on projectiles
- Fixed some custom AI goals not loading since a few updates ago
- Fixed some issues with the item matcher and associated mechanics
- Fixed particles throwing errors on 1.20.X versions
- Fixed ClassCastException in item tool rules
- Fixed MountTarget mechanic being broken on newer versions
- Fixed NPE in StatExecutor
- Fixed threat tables tracking threat even if damage was cancelled
- Fixed threat not using final damage amounts after stats, damage modifiers, etc
- Fixed FancyDrops damage tracking not tracking projectile or skill damage
- Fixed FancyDrops not using final damage amount after stats, damage modifiers, etc when calculating contributions
- Fixed FancyDrops damage calculations and leaderboards taking cancelled damage into account
- Fixed case where death leaderboards wouldn't show for all players involved
- Fixed terminated reference always being cloned
- Fixed varequal and varrange not using skill meta
- Fixed stat not using base value on startup
- Fixed varinRange condition not being able to reference skill variables as a TargetCondition
- Fixed NPE in @ThreatTablePlayers targeter
# 5.8.1
General
-------
- Added missing particles `infested`, `block_crumble`, `trail`
- Added missing vanilla attributes as stats:
- BLOCK_BREAK_SPEED
- BLOCK_INTERACTION_RANGE
- ENTITY_INTERACTION_RANGE
- Added `then=` skill option to `dropItem` mechanic
- Added `then=` skill option to `remove` mechanic
- Added Placeholder support for `radius` in `MobsInRadiusTargeter`
- Allow message mechanic to be used without target
Bug Fixes / Other
-----------------
- Optimizations for menus
- Refactor & cleanup Template System
- Removed some stray debugging
- Fixed lifesteal stat being backwards
- Fixed some issues with health regen stat
- Fixed ConcurrentModificationException in SkillMechanic
- Fixed some bugs with templates
- Fixed branched metaskills being canceled with terminable
- Fixed projectile rotations during the first tick for the shoot mechanic
- Fixed metadata deep clone not cloning targets by value
- Fixed console spam about magic values
Older Changelogs Older Changelogs
================ ================
... ...
......