There's a glitch with the checkpoint bricks, it recreates the events every time its loaded even if the events were already created. This is my way of applying events on plant:
package TreasureChest
{
	function servercmdPlantbrick(%client)
	{
		parent::servercmdPlantBrick(%client);
		%obj = %client.brickGroup.getObject(%client.brickGroup.getCount()-1);
		if(%obj.getDatablock().getName() $= "brickTreasure_ChestData")
		{
			%enabled     = 1;
			%delay       = 0;
			%inputEvent  = "onActivate";
			%target      = "Self";
			%outputEvent = "openChest";
			%obj.addEvent(%enabled, %delay, %inputEvent, %target, %outputEvent);
			%enabled     = 1;
			%delay       = 0;
			%inputEvent  = "onChestOpened";
			%target      = "Client";
			%outputEvent = "bottomPrint";
			%par1 = "You already opened this chest.";
			%obj.addEvent(%enabled, %delay, %inputEvent, %target, %outputEvent,%par1,3);
		}
	}
};