return function() local ni = peripheral.wrap("back") local sneakTicks = 0 local meta = nil local windowEvents = {nil, nil, nil} local windowDuration = 20 local clockCounter = 0 parallel.waitForAny( function() while _G._running do if meta and windowEvents[3] ~= nil and windowEvents[3] + windowDuration >= clockCounter then local mainHand = meta.heldItem and meta.heldItem.getMetadata().name local offHand = meta.offhandItem and meta.offhandItem.getMetadata().name if mainHand == "openblocks:hang_glider" or offHand == "openblocks:hang_glider" then ni.launch(meta.yaw, meta.pitch, 4) end end os.sleep(0.05) end end, function() while _G._running do meta = ni.getMetaOwner() clockCounter = clockCounter + 1 if meta.isSneaking then sneakTicks = sneakTicks + 1 elseif sneakTicks ~= 0 then windowEvents = {clockCounter, windowEvents[1], windowEvents[2]} sneakTicks = 0 end os.sleep(0.05) end end) end