Rotor Module
The rotor module allows the user to control rotors on the grid. Rotors are particularly vulnerable to phantom forces and the Almighty Clang, so we leverage the Activity Monitor to ensure rotors are stopped and locked when not in use. Players can simply define an angle and speed of rotation without worrying about direction, upper/lower limits, or the grid ripping itself apart.
Commands
rotate
Rotate a rotor or group of rotors to a specific angle between -360 and 360 degrees.
rotor/rotate <Rotor|Group> <Angle> [--options]
Options
| Option | Values | Unit | Description |
|---|---|---|---|
speed | [-5.0, 5.0] | RPM | Set the speed of the rotor. Negative values will reverse the hinge. Default is 1 RPM. |
add | true, false | bool | Indicates that the provided angle should be added to the current angle. Allows incremental changes to angle. |
sub | true, false | bool | Indicates that the provided angle should be subtracted from the current angle. Allows decremental changes to angle. |
share | Indicates that the angle should be shared across all rotors in the group. This means that if you have 3 rotors in a group and set an angle of 90 degrees with sharing enabled, each rotor will rotate to 30 degrees. If sharing is disabled, each rotor will rotate to the full 90 degrees. |
Example Set the antenna rotor to 90 degrees with a speed of 2.5 RPM:
rotor/rotate AntennaRotor 90 --speed=2.5;
Increase the angle of the antenna rotor by 45 degrees:
hinge/rotate LandingGearHinge 45 --add;
Share an angle of 90 degrees across 3 rotors in the "Solar Panel Rotors" group:
rotor/rotate "Solar Panel Rotors" 90 --share;
ulimit
Set the upper angle limit of a rotor or group of rotors in degrees.
rotor/ulimit <Rotor|Group> <Angle>
Example
rotor/ulimit AntennaRotor 120;
llimit
Set the lower angle limit of a rotor or group of rotors in degrees.
rotor/llimit <Rotor|Group> <Angle>
Example
rotor/llimit AntennaRotor -45;
lock
Lock a rotor or group of rotors.
rotor/lock <Rotor|Group>
Example
rotor/lock AntennaRotor;
unlock
Unlock a rotor or group of rotors.
rotor/unlock <Rotor|Group>
Example
rotor/unlock AntennaRotor;
reset
Reset a rotor or group of rotors to their original position (0 degrees).
rotor/reset <Rotor|Group>
Example
rotor/reset AntennaRotor;
attach
Attach the head of a rotor or group of rotors.
rotor/attach <Rotor|Group>
Example
rotor/attach AntennaRotor;
detach
Detach the head of a rotor or group of rotors.
rotor/detach <Rotor|Group>
Example
rotor/detach AntennaRotor;
speed
Set the speed of a rotor or group of rotors in RPM.
rotor/speed <Rotor|Group> <Speed> <Options>
Options
| Option | Values | Unit | Description |
|---|---|---|---|
free | true, false | bool | Indicates whether the rotor should be free to rotate or not. Default is false. |
add | true, false | bool | Indicates that the provided speed should be added to the current speed. Allows incremental changes to speed. |
sub | true, false | bool | Indicates that the provided speed should be subtracted from the current speed. Allows decremental changes to speed. |
Example
Set speed to 2 RPM and allow rotor to rotate freely:
rotor/speed AntennaRotor 2 --free;
Increase speed by 2.5 RPM:
rotor/speed AntennaRotor 2.5 --add;
Decrease speed by 1 RPM:
rotor/speed AntennaRotor 1 --sub;
Hooks
The following hooks can be define in the block's Custom Data, and will be triggered when the corresponding command is called:
| Key | Trigger |
|---|---|
onMoving | Activated when a rotor is put into motion by the rotor/rotate command. |
onStop | Activated when a rotor stops from the rotor/rotate command. |
onAttach | Activated when a rotor head is attached. |
onDetach | Activated when a rotor head is detached. |
