The world of Pokémon is truly a wonder, the planet is filled with these magnificent creatures. Some live in the sky, some live beneath the ocean, some travel the world and some exist only in dreams. Many of these Pokémon live peacefully among humans, however some humans seek to exploit Pokémon for their own means. One of the Pokémon so desired is the legendary Groudon, coveted by the villainous Team Magma. This story is about one man who went looking for Groudon, yet found something far more powerful that would make his wish come true...
Once every thousand years, the Millennium Comet is visible from earth for only seven nights... and now the time for it to appear among the stars has arrived again. Ash and his friends arrive at the location where a carnival is due to be held to celebrate the comet's arrival... but despite Brock's guidebook guiding them to the correct spot, there's no sign of a park, or even anything but open plains. As it's late at night, everyone decides to get some sleep and resume the search the next morning.
During the night Pikachu wakes up when he hears trucks from a distance. It then wakes everyone up, as the workers are starting to erect the carnival. A yellow pickup then parks on the side and a purple-haired man then come out with a briefcase. He then takes a magician stick and opens the briefcase. Pink balloons then magically come out of his briefcase, as he hit them with his stick. A woman then comes out with two fans and hit the balloons with them. Once all balloons are forming a circle, they pop up, and a huge tent is slowly created by the magician. Everyone stares in wonder at the magician, while Brock (of course) has his eyes on the woman. Soon the carnival is erected, and it sure looks like a lot of fun.
Day One of the Millennium Comet
The day is spent by the gang enjoying the various rides and attractions of the carnival. Team Rocket are naturally nearby, but don't have time to enjoy themselves as they've been put to work handing out flyers to everyone to announce 'The Great Butler's Magic Show' while disguised as clowns. Ash pick up one of the flyers, and Max notices that the flyer features the magician they saw last night, creating the tent. The gang decide to check the show out, thinking that if he can do a magic show as well as he can create a tent then they're in for a treat.
Soon, the gang are watching the show and it's turning out to be even better than expected. Butler, the purple-haired magician, putting his white hat on an empty table. After creating a flock of Swablu out of thin air he then slaps the hat with his stick, and when he takes off the hat, a Kirlia suddenly appears! Butler then calls on his Mightyena for another trick. Butler seals back Kirlia, puts a red cloth over it, then burns it off. Out of the smoke comes Diane, Butler's assistant, carrying a crystal. Brock applauds, declaring that Butler is amazing. Glowing rays come out of the crystal, and Max suddenly hears a voice. The voice tells him that 'it' is sealed inside the crystal. Max rushes to the scene, followed by Ash. Max tells Butler that he heard a voice from the crystal. Naturally Butler is surprised... but not too surprised. Butler then claims their arrival was in an imprecable timing for his next trick, the 'Burning Box'. Jessie and James (still disguised as clowns) then carry the box and put Ash and Max in it. Diane encourages them, and Butler tells the audience that Ash, Max and Pikachu are fellow magicians, and will escape the box before his Dusclops destroys it with Hyper Beam. Butler summons Dusclops, which slowly approaches the box. The entire audience are on tentahooks, especially May and Brock. Dusclops then fires on the box but before it does so, Ash and Max are transported away by a machine under the stadium. Butler says not only did they vanish from the box, but also teleported to the entrance of the dome! The flashlights then show Ash and Max, and while Ash laps up the applause Max isn't sure what to do. May wonders if Ash and Max will tell her how they did the trick, while all Brock is hoping for is that he gets introduced to Diane.
After the show, Max asks Butler and Diane about the crystal, and they respond by saying the crystal contains a Pokémon named Jirachi. Butler tells everyone that Jirachi only awakens once every 1000 years, and is sleeping inside the crystal, which acts like a cocoon. To wake up Jirachi, the crystal needs two things; the Millennium Comet to be visible in the night sky and a best friend chosen by destiny. Max happens to be the chosen one, so Diane gives him the crystal and as the crystal is due to appear in the sky that night it seems Max's new friend will awaken soon.
At twilight, May buys a Wish Maker, a sacred item that can grant one wish when its panels are closed while facing the comet. The stallholder tells May that she has to close a flap on the Wish Maker every night the comet is in the sky to make her wish come true. Soon fireworks are going off to celebrate the arrival of the comet, with many of the fireworks taking the forms of Pokémon. Afterwards the fair closes down for the night.
Ash, May and Brock talks how about the world can change in a thousand years. The clouds then go off, revealing the comet glowing magnificently in the night sky. Soon Max is asleep with the crystal in his arms. May then starts singing her mother's lullaby. As Max sleeps, the crystal glows, goes off Max's hands then float in the air. Then, a mysterious light surrounds it, and Jirachi appears! Max introduces everyone to Jirachi. Diane then comes and Ash tells him that the prophecy was true. Diane tells them to pass the night in her bus. Inside, Max asks about wishes, then want snacks. At first, everyone said Jirachi can't grant wishes until Ash saw a bag of potato chips on Max's legs. Then, more and more snacks appears, filling the whole bus! The doors then open, with Diane with Butler coming and asking what happened. Max tells them he wished for candy, and hid wish came true! Diane picks up some cheese puffs, look at them then says those are the same from the snack-bar which suddenly lost all of its merchandise. Jirachi didn't create the treats, it teleported them away. May then gets irate and blames Max for this. Ashamed, he asks what should he and Jirachi should do. Brock suggests teleporting the food back to the store. If Jirachi was able to get the candies from the store, it could also teleport them back there. May yells at Jirachi to 'get rid of the problem'. Jirachi agrees, but from its point of view, 'the problem' to get rid of was May, not the snacks! It teleports May in the load of snacks, and falls asleep. Ash, Brock and May are then forced to take the candies back to the store by themselves.
Close by, another creature has sensed Jirachi's reawakening. It is Absol, the disaster Pokémon. It takes off towards the fair, heading for Jirachi... and Max.
Day Two of the Millennium Comet
The sun rises on a brand new day, and Max eagerly waits for Jirachi to wake up which it soon does and in no time is happily flying around Butler's van. With Team Rocket having left Butler's employment, Ash and Brock are now his new clowns. Max goes to the amusement park with Jirachi and have fun the whole day. At twilight, Absol can be seen rushing to the park. May folds the 'Day 2 of the Wishing Star' while she's carrying a lighting rig, but hits a leg of wood and it starts to fall. She asks for Max's help, however Jirachi is far more interesting in playing than helping and steals Max's glasses. But Max hears an eerie sound coming from the mirror. The mirror breaks, revealing Absol! Butler recognises Absol, a Pokémon which is known to appear just before a disaster. Absol runs after Max and Jirachi. May, seeing her brother in danger, summons Torchic and orders an Ember but the attack is far too weak and Absol continues to approach Max dangerously. Ash sends in Pikachu telling him to use Thunderbolt which succeeds in hurting Absol and sending it flying back... but also makes it even angrier. Jirachi tells Max that Absol is here for it and then teleports Pikachu and Torchic away. The two reappear far above the tent, and fall although the tent cushions their fall. Now there is nothing protecting Max and Jirachi, however Absol then changes its target and rushes towards the gang when Butler opens a booby-trap and Absol falls into it. The trap then release a cage with Absol in it. Kirlia then uses Hypnosis to send it to sleep. During night, May sits on a rock and folds the second panel of her Wish Maker and then notices Butler going back to the tent with something. That's right, it's Jirachi! Butler puts it on some machine that would create a Groudon, to get revenge on Team Magma, who fired him and made a mockery of his Magical tricks. He then asks Jirachi to open its true eye 'Millennium Eye' but Jirachi refuses. Dusclops then starts torturing Jirachi until its Millennium Eye is opened. Absol was actually there to protect Jirachi from Butler...but it can't do a thing since it's in a cage. The gang then sees a beam coming out of the tent. Butler's machines explodes, and Max rushes to a severely injured Jirachi. He then flees but Dusclops blocks him. Absol then breaks free of the cage and KOs Dusclops. Butler then send his Mightyena to run after Diane's bus. Mightyena then sticks some sort of GPS under the bus, which allow Butler to keep track of all their movements.
Day Three of the Millennium Comet
Diane is driving everyone out across some very bumpy terrain, when Ash falls down, with May, Max and Jirachi laughs. When night comes, Brock starts cooking and May closes the Wish Maker's third panel and then joins Diane in the bus. She tells her that she and Butler were childhood friends, and the last time she saw a delighted Butler was long ago, before the Groudon Project. She just wanted him as a magician, not someone with all-powerful mythology Pokémon.
Day Four of the Millennium Comet
Ash and Max have fun at skipping stones on the lake, and Max wins. That same night, May takes her Wish Maker then fold the panel of 'Day 4 of the Wishing Star'. Max is getting nervous so he went to see Ash near the Lake. Ash tells him that he, too, once had a friend but they had to separate each other and they never met each other since then. But he claim his pal will be in his heart, so does will Jirachi be in Max's heart.
Day Five of the Millennium Comet
The bus manages to get stuck in the mud, so everyone helps out. Afterwards, everyone is covered in mud, and all laughs. May then takes her Wish Maker then fold the panel of 'Day 5 of the Wishing Star'. Each time she does so, Max become sad as this only tells him that he and Jirachi will part ways soon.
Day Six of the Millennium Comet
The gang arrives at Forina, Jirachi's home place. Many other Pokémon lives there, such as Nuzleaf, Breloom, Tropius, Linoone, Flygon, Altaria etc... The gang is then greeted by Absol, showing them Forina. May clears 'Day 6 of the Wishing Star'. Only 24 hours left... Max can't get to sleep as he worries about the little thing.
Day Seven of the Millennium Comet
Absol leads the gang to a cave, the same cave Jirachi absorbs the comet's power and falls asleep for another 1000 years. As Jirachi was going to open his Millenium Eye, spikes comes out of the walls and purple energy beams capture Jirachi! Butler is finally gonna bring Groudon back to life. Then he sets all the machines A-OK, while Absol and Flygon breaks the spikes. Flygon takes Ash and Max to a ride, and they managed to get Jirachi back, while Butler sends his Salamence to fight against them. Groudon is slowly rising as Butler watches. Groudon is then completely formed as the gang stand behind it. Groudon then starts sucking energy from the earth as Absol attacks it. Groudon's left claws then becomes slimy blue-green tentacles and engulfs Absol away! Groudon rear spikes becomes tentacles, too, chasing every Pokémon. Team Rocket then arrives, but gets engulfed as Groudon was trying to get the Altaria. A scene is then shown in Groudon's stomach ; Absol, many Pokémon and Team Rocket! Other Pokémon are getting 'eaten' while Butler claims this isn't the Groudon he wanted, as if Groudon was an evil beast! Having the taste not only for Pokémon energy, but also human energy, Groudon was going to eat Butler, but Diane blocks the tentacle and get sucked in instead! Butler realizes how to stop Groudon ; put Jirachi back on the machine and reverse the polarity. With the help of Ash, he gets to the machine, while May and Brock gets eaten! Butler makes an ill movement and drops the shard with Groudon's data but Ash manages to catch it and bringing it back to Butler. As soon as the machine is started, Groudon approaches and launches its tentacles on Jirachi, but Butler shields Jirachi and get sucked instead. Groudon, angry, pour its gooey substance over the machine, but Jirachi starts glowing. Groudon is slowly dragged by a white meteor made by Jirachi to the Millennium Comet, and then explodes, releasing all Pokémon and human alike it ate. Jirachi then descends the sky and asks Max one final wish ; the lullaby. Everyone starts singing while Jirachi returns inside the crystal who sink in the earth. Max cries for a short time, and wishes Jirachi a good night and sweet dreams.
The End of the Millennium Comet
Butler and Diane stays in Forina's untamed nature, as they leave the group. Brock reminds May of last night, and she takes her Wish Maker, only to see that she didn't fold the 'Day 7 of the Wishing Star' but says it doesn't matter after all. As the group leaves, Jirachi talks to Max using telepathy and say that they will always stay best friends forever.