Moving more than 128 blocks in a single tick as an undead creature forces you out of said creature.
James103 opened this issue ยท 4 comments
Currently, if you use commands to teleport 128+ blocks up in the air, if you are possessing an undead creature (e.g. Zombie), you will be forced out of the creature and back to spirit mode. The reasoning is that the creature you are possessing has despawned.
I suggest that when you start possessing any creature, it gets {PersistenceRequired:1b}
set so that the creature does not despawn.
To reproduce:
- Possess an undead creature (e.g. Zombie).
- Run
tp @p ~ ~150 ~
- Immediate despawn, forced to spirit mode
Alternative steps to reproduce:
- Possess an undead creature.
- Run
tp @p ~ ~50 ~
- 1 in 800 chance of immediate despawn and being forced back to spirit mode
Minecraft 1.16.4
Requiem 1.4.4
Pandemonium 1.4.4
Fabric API 0.29.3
Fabric loader 0.11.0
Thanks for the details, it's appreciated. I assume this does not happen when you hold an item or wear armor ?
Try the following:
- Possess an undead creature.
- Give yourself some armor and another item.
- Wear the armor and hold the item.
- Run
/data get entity @e["requiem:possessor"=!,limit=1,sort=nearest] PersistenceRequired
- Example result: "Zombie has the following entity data: 0b"
- Run
/tp @p ~ ~150 ~
- Result: Creature despawns, forcing you back into spirit mode.
Huh, so it still despawns with armor ? Have you confirmed setting PersistenceRequired
fixes it ?
- Possess any creature for which
PersistenceRequired
is0b
. - Run
/data modify entity @e["requiem:possessor"=!,limit=1,sort=nearest] PersistenceRequired set value 1
- Run
/tp @p ~ ~150 ~
- Result: The creature you are possessing does not despawn. You are still possessing the same creature.