Check out my A* Implementation. Your nodes can be easily added by inheriting the ASearchNode class. The purpose of the A* is to handle WorldNodes in the interface of the Mario AI Competion. The aim of the competition is to develop an artificial agent in the game Infinite Mario Bros who completes a level fastest. Like in Robin Baumgartens competition submission the WorldNodes are generated using a simulation and then searched with the A*. Our current goal at the Chair of Cognitive Modeling Tübingen is to connect the the planning with a rudimentary brain module which is capable of learning object interactions. Therefore the agent will wander around to collect knowledge about his environment and then exploit it according to its motivation.
Update Some of my successors enhanced Mario’s capabilities and submitted a great video demonstration that went viral to the AAAI Video Competition 2015.