Teleport spreadh and speradv do not work
Summary
When using the teleport mechanic, it fails to respect the spreadv and spreadh attributes.
Steps to reproduce
You can use this mobs config:
FlameWisp:
Type: Phantom
Display: '&fFlame Wisp &8| &6<mob.level>'
Health: 4
Damage: 1.5
MovementSpeed: 0.1
Disguise: BAT setInvisible true
Equipment:
- AIR HAND
DamageModifiers:
- FIRE 0
- FIRE_TICK 0
- HOT_FLOOR 0
- LAVA 0
LevelModifiers:
Health: .02
Damage: .05
KnockbackResistance: 0.01
MovementSpeed: 0.001
Options:
Despawn: true
AlwaysShowName: false
DigOutOfGround: true
PreventRenaming: false
PreventOtherDrops: true
Silent: true
Skills:
- effect:particles{p=flame;yOffset=1} @self ~onTimer:2
- ignite{ticks=60} @trigger ~onAttack
- teleport{spreadh=5;spreadv=5} @self ~onAttack
- sound{s=block.fire.extinguish;p=random(1.0, 2.0)} @self ~onDeath
Drops:
- mmoitems{type=CONSUMABLE;id=FIRE_ESSENCE} 1 .01
- blaze_powder 0-1 1
- exp 3 1
Current behavior
Currently, it will teleport the mob directly onto the player, ignoring spread.
Intended correct behavior
The intended behavior is that it would teleport the mob within 5 blocks vertically and horizontally of the player. https://git.mythiccraft.io/mythiccraft/MythicMobs/-/wikis/skills/mechanics/teleport
Server log file
Debug log snippet
I created TestWisp which is identical to my provided above except with using onTimer instead of onAttack.
Proposed fixes
The proposed fix would be for spreadh and spreadv to be respected attributes. It seems as if the unsafe attribute is possibly always defaulting to true, even when set to false, but I am not sure.