Launch command:
Applies a velocity to an entity. You can launch an entity so that it collides with another entity or with a coordinate. You can also launch an entity with a specified vector. The following syntax could be used to write the command. Below the syntax, I talk about what the syntax means.
/launch <victim: target> <destination: target> projectile <magnitude: value|? [<max: value|na> <min: value|na>]> <xRot: value|? [<max: value|na> <min: value|na>]>
/launch <victim: target> <destination: target> laser <magnitude: value>
/launch <victim: target> <destination: target> laser <magnitude: value> duration <time: value>
/launch <victim: target> <destination: target> laser <magnitude: value> distance <distance: value>
/launch <victim: target> <destination: x y z> projectile <magnitude: value|? [<max: value|na> <min: value|na>]> <xRot: value|? [<max: value|na> <min: value|na>]>
/launch <victim: target> <destination: x y z> laser <magnitude: value>
/launch <victim: target> <destination: x y z> laser <magnitude: value> duration <time: value>
/launch <victim: target> <destination: x y z> laser <magnitude: value> distance <distance: value>
/launch <victim: target> vector projectile <magnitude: value> <yRot: value> <xRot: value>
/launch <victim: target> vector laser <magnitude: value> <yRot: value> <xRot: value>
/launch <victim: target> vector laser <magnitude: value> <yRot: value> <xRot: value> duration <time: value>
/launch <victim: target> vector laser <magnitude: value> <yRot: value> <xRot: value> distance <distance: value>
How to read the syntax
/launch
This is the first thing you type.
<victim: target>
This is where you select the entity to be launched.
<destination: target>
This is where you select the entity to be launch at.
<destination: x y z>This is where you select the coordinate to be launched at.
Can use ~ and ^ coordinate notation.
projectile
This signifies that the launched entity will have projectile motion (an arched path), just as an arrow shot by a bow would.
laser
This signifies that the launched entity will move in a strait line, like a laser.
duration <time: value>
This is used to signify a travel time (in seconds) after which the entity will transfer from laser mode to projectile mode.
distance <distance: value>
This is used to signify a travel distance (in meters) after which the entity will transfer from laser mode to projectile mode.
vector
This signifies that the entity will be launch with a set vector rather than at a target.
<magnitude: value>
This is where you tell how fast (in meters per second) the entity will be launched. Can use ~ notation to add the entire launch vector to entities current velocity vector. Can use ^ notation so that the sum of the given magnitude and the entities current magnitude will be equal to the final magnitude.
<yRot: value>
This is where you tell the direction to launch the entity in rotation about the y-axis. Can use ~ notation to add the angle to the entities current velocity angle. Can use ^ notation add the angle to the entities orientation angle.
<xRot: value>
This is where you tell the direction to launch the entity in rotation about the x-axis. Can use ~ notation to add the angle to the entities current velocity angle. Can use ^ notation add the angle to the entities orientation angle.
? [<max: value|na> <min: value|na>]
This is an alternative option for both magnitude and angle components that tells the game to decide the corresponding vector component if syntax allows. The syntax in [ ] is optional.
?
Use this instead of entering a value to allow the game to decide the value of the component.
<max: value|na>
This is where you tell the maximum value. Replace with na to skip the maximum value. Can use ~ and ^ notation.
<min: value|na>
This is where you tell the minimum value. Replace with “na” to skip the minimum value. Can use ~ and ^ notation.
Note:
When the game decides the value of a component, it will use an algorithm to find the value or combination of values that will result in the entity coming as close to the target as possible as well as as quickly as possible. I may or may not comment with thoughts on how to make such an algorithm.
Note:
When an entity is launched at another entity but the target entity moves before the launched entity reaches it, the launched entity will NOT correct its course. This would require another launch command to be entered. You could potentially use a repeating command block to make sure the target is hit even if it moves.
Note:
Additional arguments could be added to the command such as an argument that could be used to increase or decrease how much given factors could alter the lunched entity's path such as air resistance, water drag, gravitational pull, or friction (could even be block specific if desired). There is a lot that could be experimented with here if.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Just think of the infinite possibilities that such a command would give players to mess with. For example: an automatic rapid fire uber turret that summons a barrage of arrows that locks on to a player and never misses no matter how hard they try to dodge them even if they are flying an elytra at high speeds, a sling shot, a super advanced TNT cannon, a laser cannon, transportation systems in a map, and the list could go on. Such a command would be absolutely game changing.
Please sign in to leave a comment.
1 Comments