|
|
|
|
|
|
|
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 |