I think that the Passengers:[] NBT tag should include an offset tag that would function something like this:
`/summon initial_entity ~ ~ ~ {Passengers:[{id:"minecraft:other_entity",Offset:[0.0,-1.5,2.0]}]}`
This would summon an entity with a passenger 1.5 blocks lower than it, 2 blocks to its right. Notice that this movement is **relative**, so the initial_entity turning would affect the other_entity with a higher radius.
The premise as to why has 3 main arguments:
Player side: this function would improve the ease of creating complex entity creations by streamlining the movement of multiple complex parts. Things like custom boss fights, vehicles and more could easily be added through commands or datapacks. Using some data trickery, this value could maybe even be incremented in-game (item stack size, etc) adding new challenges for data wizards
Server side: using the /tp @s ^ ^ ^ command eats up resources, as any smooth operation would require this to happen on a per-tick basis. Not only does this strain the server, but it doesn't look as good as standard entities. Now, this load can be reduced, as the work required can be part of the game instead of interpreted with complex commands
It is similar to existing systems. Tools like Blender include a feature called "parenting," where an item in 3D space is both affected by its own movement but also by a parent's movement.
Please sign in to leave a comment.
2 Comments