Create_RopePulley
A rope pulley. Vertical contraption movement: the platform descends as the shaft turns one way, ascends as it turns the other. Like the piston, motion is purely kinetic-driven — no setpoint either in vanilla or here.
Drive programmatically via an upstream Create_SequencedGearshift's
move(distance) (one revolution = one block of rope extension).
Wide platforms span multiple pulleys via Create's "mirror" mechanism: one
pulley is the parent (does the assembly), others become passive children
inheriting motion. getMirrorParentId and isMirrorChild
surface this for SCADA dashboards.
| isAssembled() | Check whether the pulley has assembled a contraption (is running). |
|---|---|
| assemble() | Assemble the pulley's contraption. |
| disassemble() | Disassemble the pulley's contraption. |
| getOffset() | Get the rope's current extension distance, in blocks. |
| getMaxLength() | Get the maximum extension this pulley can reach, in blocks. |
| getMovementSpeed() | Get the pulley's current movement speed (blocks per tick). |
| getMotionVector() | Get the pulley's current motion vector in world frame (always vertical). |
| getCurrentY() | Get the world Y coordinate of the rope's lowest point — i. |
| getMovementMode() | Get the pulley's movement mode — what happens to the platform's blocks when motion stops. |
| setMovementMode(mode) | Set the pulley's movement mode. |
| isMirrorChild() | Check whether this pulley is a mirror child (passive follower of another pulley's contraption). |
| getMirrorParentId() | Get the id of the pulley this one mirrors, or nil if independent. |
| getLastAssemblyError() | Get the last assembly error message, or nil if the last attempt succeeded or no attempt has been made. |
| getSelfId() | Get this block's id. |
| getSourceId() | Get the id of the block immediately driving this one, or nil if this block has no source. |
| getSubnetworkAnchorId() | Get the id of this block's speed-zone anchor — the gearshift / clutch / speed controller / generator that defines the start of this speed zone. |
| getNetworkId() | Get the id of this block's kinetic network. |
| getKind() | Get this block's role on the kinetic graph: one of "generator", "split_shaft", "consumer", or "passthrough". |
| getSpeed() | Get the local rotational speed at this block. |
| hasSource() | Check whether this block is connected to a kinetic source. |
| isOverstressed() | Check whether the block's network is overstressed. |
| getStressImpact() | Get the stress impact of this block on its network — how much stress it draws while running. |
| getStressContribution() | Get this block's contribution to its network's stress capacity. |
- isAssembled()Source
Check whether the pulley has assembled a contraption (is running).
Returns
booleanTrue if running.
- assemble()Source
Assemble the pulley's contraption. Equivalent to a player right-clicking the pulley with an empty hand. No-op if already assembled.
- disassemble()Source
Disassemble the pulley's contraption. Restores rope blocks and the magnet block beneath the rope chain.
- getOffset()Source
Get the rope's current extension distance, in blocks. 0 = retracted (platform at the pulley's level); positive = extended downward.
Returns
numberThe current offset in blocks.
- getMaxLength()Source
Get the maximum extension this pulley can reach, in blocks. Bounded by the
maxRopeLengthserver config and the pulley's height above the world's minimum build Y.Returns
numberThe maximum extension in blocks.
- getMovementSpeed()Source
Get the pulley's current movement speed (blocks per tick). Positive means extending (descending), negative means retracting (ascending), 0 when stopped.
Returns
numberThe movement speed.
- getMotionVector()Source
Get the pulley's current motion vector in world frame (always vertical).
Returns
- {
number... } A three-element list {x, y, z} in blocks/tick.
- {
- getCurrentY()Source
Get the world Y coordinate of the rope's lowest point — i.e. the platform's current Y level. Same value a Threshold Switch attached to this pulley would read.
Returns
numberThe platform's world Y.
- getMovementMode()Source
Get the pulley's movement mode — what happens to the platform's blocks when motion stops.
One of:
move_place— place blocks back on stopmove_place_returned— place blocks back only when stopped at the starting offsetmove_never_place— never place blocks back (platform stays as an entity)
Returns
stringThe mode string.
- setMovementMode(mode)Source
Set the pulley's movement mode. Matches the in-game scroll option.
Parameters
- mode
stringmove_place,move_place_returned, ormove_never_place.
- mode
- isMirrorChild()Source
Check whether this pulley is a mirror child (passive follower of another pulley's contraption). Wide platforms sync multiple pulleys via this mechanism — one parent does the assembly, others mirror its motion.
Returns
booleanTrue if this pulley is mirroring another.
- getMirrorParentId()Source
Get the id of the pulley this one mirrors, or nil if independent. Same opaque-token flavor as
getSelfIdon a peripheral wrapping the parent pulley — matchable for equality.Returns
stringThe parent pulley's id, or nil.
- getLastAssemblyError()Source
Get the last assembly error message, or nil if the last attempt succeeded or no attempt has been made.
Returns
stringThe error message, or nil.
- getSelfId()Source
Get this block's id. Other peripherals'
getSourceIdorgetSubnetworkAnchorIdreturn this same id when they refer to this block.Returns
stringThe block's id.
- getSourceId()Source
Get the id of the block immediately driving this one, or nil if this block has no source.
Returns
stringThe parent's id, or nil.
- getSubnetworkAnchorId()Source
Get the id of this block's speed-zone anchor — the gearshift / clutch / speed controller / generator that defines the start of this speed zone. Two blocks share an anchor iff they're in the same speed zone. A generator or split-shaft returns its own
getSelfId.Returns
stringThe anchor block's id, or nil.
- getNetworkId()Source
Get the id of this block's kinetic network. Same value for every block on the same network regardless of how many speed zones lie between them. Nil if this block isn't on a network.
Returns
stringThe network id, or nil.
- getKind()Source
Get this block's role on the kinetic graph: one of
"generator","split_shaft","consumer", or"passthrough".Returns
stringThe role string.
- getSpeed()Source
Get the local rotational speed at this block. Signed; same value across a speed zone, changes across a split-shaft.
Returns
numberThe local speed.
- hasSource()Source
Check whether this block is connected to a kinetic source.
Returns
booleanTrue if a source is connected.
- isOverstressed()Source
Check whether the block's network is overstressed.
Returns
booleanTrue if overstressed.
- getStressImpact()Source
Get the stress impact of this block on its network — how much stress it draws while running. Speed-dependent; zero for sources and pure conduit blocks. Matches the "Stress Impact" value shown by goggles.
Returns
numberThe stress impact.
- getStressContribution()Source
Get this block's contribution to its network's stress capacity. Non-zero for sources only. Parallel to
getStressImpact(per-block draw) and distinct fromCreate_Stressometer#getStressCapacity, which reports the network total.Returns
numberThe per-block stress contribution.