4.12.0
Highlights
- New Skill Parameter system
- Disguise mechanic changes
- ChainMissile mecahnic
- Mob particles
- orElseCast condition action
- origin=@targeter option
General
Added Java 16 support
Skill Parameters (Premium Feature)
Skill parameters are a new feature allowing you to more easily create generic skills and pass parameters to them from other skills. If that sounds confusing, here's an example!
Currently most people have a lot similar damage skills that are just tweaked a bit for all their different mobs for slight variances in damage, but they do basically the same thing otherwise.
The old way of doing it:
ShadowDamage20:
Skills:
- damage{amount=20}
- some shadowy effect
ShadowDamage50:
Skills:
- damage{amount=50}
- some shadowy effect
Mob1:
Skills:
- skill:ShadowDamage20 ~onAttack
Mob2:
Skills:
- skill:ShadowDamage50 ~onAttack
With Skill Parameters, we can combine these all into a single skill! The new way:
ShadowDamage:
Skills:
- damage{amount=<skill.damage>}
Mob1:
Skills:
- skill:ShadowDamage{damage=20} ~onAttack
Mob2:
Skills:
- skill:ShadowDamage{damage=50} ~onAttack
The "skill parameter" system will pass any options from the skill/metaskill mechanic (except options that are specific to it) down the skill tree where you can reference them later. If a later skill passes the same parameter, it will overwrite it. These can be used anywhere placeholders are supported.
- skill{skill=SomeSkill;anything=2;somethingElse=5}
SomeSkill:
Skills:
- particles{amount=<skill.anything>}
- damage{amount=<skill.somethingElse>}
Mobs
NEW: EXPERIENCE_ORB
- Added EXPERIENCE_ORB mob type (why?)
- Can specify Options.Experience: amount
Mechanics
NEW: Origin Override (Premium Feature)
- Added
origin=@targeter
option to set the origin in any mechanic. Will pass through to any child mechanics.
BreakBlock
- Added doDrops, doEffect, useTool options
Disguise MAJOR CHANGE
- Renamed disguise mechanic to disguiseOld
- Disguise now just accepts a LibsDisguises config string with d=
FAWEPaste
- Added chestDropTable option
- Allows you to specify a MythicMobs droptable that will automagically populate and randomize any chests in that schematic when it's pasted
FillChest
- Fills a chest at the targeted location with the contents of a droptable
GiveItem
- Added fakeLooting=true option to play the pickup-item animation from the origin
Messages
- Added audience option
ModifyProjectile
- Added radius trait for orbitals
Projectiles
- Greatly improved block collision detection
- Improved collision detection with huge mobs (giants, ghasts, etc)
- Improved collision detection with ModelEngine mobs
RemoveAura
- You can now specify "ANY" to remove all auras from the target
NEW: ChainMissile (Premium Feature)
- Combines the Chain and Missile mechanics, making a missile that will bounce between so many targets
NEW: giveItemFromTarget
- Gives the caster an item while playing the pickup-item animation from the target entity or location
NEW: raytraceTo (premium-only)
- Raytraces from the origin to the targeted location
- Same options as the raytrace mechanic
NEW: ShootShulkerBullet
- Shoots a shulker bullet
- Has onTick, onHit, onEnd otpions
NEW: clearThreat
- Clears the mob's threat table
NEW: variableUnset{var=}
Effects
Audiences
- Added caster audience
- Added @targeter audience, allowing you to use any entity-targeter as an audience
Particle Effects - Mob particles??? (premium-only)
- Added special type particle=mob on all particle effects
- You can then specify a MythicMob using mob=[type]
- This is a hacky way for you to use mobs as "particles" in effects using no-tick ArmorStands wearing models or using font characters. You can use things other than ArmorStands if you want, but we don't recommend it for performance.
BlockWave
- Added velocityX, velocityY, velocityZ, and ignoreAir options
Targeters
NEW: @PlayerByName{name=""}
NEW: @Vehicle
Conditions
New condition action: orElseCast
- If the condition isn't true, it will instead cast the given skill
SomeSkill:
Conditions:
- night orElseCast SomeOtherSkill
NEW: isCaster
NEW: isChild
NEW: isLiving
NEW: isMonster
NEW: isPlayer
NEW: isSprinting
- only works on players
NEW: name{name=""}
- Matches a specific player name.
- Supports placeholders
NEW: vehicleIsDead
Items
In-line item additions
- Added model, enchants, potioneffects, skullOwner and skullTexture to in-line item creation
diamond{display="test";enchants=DAMAGE_ALL:4,PROTECTION_ALL:4;model=2}
Placeholders
- Added <caster.l.x.double>
- Added <caster.l.y.double>
- Added <caster.l.z.double>
- Added <skill.targets>
Compatibility
- Updated to latest LibsDisguises
- Removed CMI support completely
- Removed unused EffectLib compatibility
Bug Fixes/Other
- Name placeholder will now return the canonical mob type name if the mob has no display name set
- Fixed @ring targeter being slightly off-center
- Fixed audiences not working with certain particle effects
- Fixed invisible armorstands flickering for a tick when spawning
- Fixed an NPE in metaskills
- Fixed certain things such as bullets not showing up until after a reload
- Fixed NPE when spawning certain mobs on non-paper servers
- Fixed issues with mobs changing targets
- Fixed auras not finishing after the caster dies
- Fixed auras not falling off when a player dies
- Fixed bossbars not going away when spawner mobs despawn due to mm reload
- Fixed the setSpeed mechanic
- Fixed BreakBlock mechanic to respect worldguard with player casters
- Fixed an NPE in threat tables
- Fixed bug with auraRemove mechanic and removing specific aura stacks
- Fixed onShoot trigger to work with skeletons, withers, dragons, snowmen, ghasts, llamas, etc.
- Fixed item serialization issues when using old color codes and new hex colors making text italicized
- Fixed WorldTime condition
- Fixed NPE in item generation
- Fixed NPE in spawners
- Fixed BreakBlock mechanic not respecting regions/perms for players
- Fixed issues with hasAura condition
- Fixed some issues with and optimized @MobsInRadius targeter