Last updated: Mar 15, 2026
	[ Methods ]
	
		:Init()
	
			Initializes the library. Must do once on client + server before anything else.
	
		
		:AwaitInitialized()
		
			Yields until the library has been initialized (waits for an ':Init()' call).
			
		
		:WaitForPlum(plumId : number, debugTag : string?) -> Plum?
		
			Yields until the specified plum exists on the client. Provide a 'debugTag' for helpful debug prints if this plum is not being found.
		
	
	[ Events ]
	
		.AnyPlumReceived
		
			:Observe() -- Collects all prior plums and listens for new ones
			:Connect() -- Listens for new plums
			
			
		.PlumReceived(className : string)
		
			:Observe() -- Collects all prior plums of 'className' and listens for new ones
			:Connect() -- Listens for new plums of 'className'
			
			
			Plums.PlumReceived("Player"):Observe(function(playerPlum)
				print("Received plum! ClassName:", playerPlum.ClassName, "Data:", playerPlum.Data)
			end)