First, I love the name Regis. The halfling rogue who adventures side by side with Drizzt Do-Urden, Breunor Battlehammer, Catti-Brie and Wulfgar. I've read every book (27ish?) R.A. Salvatore wrote about these characters, love them.
Anyway.... You probably don't have a hot spot hot enough for him and is why he gets on top of his hide. His primary hide should be ~92 degrees on the bottom of the tank, inside his hide. You will probably need an under tank heater (UTH) to accomplish this along with a thermometer and dimmer to make sure it doesn't get too hot, they get to ~120+ degrees without one which can cause burns. UTH = $20 at pet store, dimmer = $10 at hardware store, thermometer with probe to place on the UTH = $12 at Walmart. Thermostats which are ideal, because they have built in probes and automatically adjust heat to maintain the setting, range from ~$80+ online and dimmers/rheostats require constant adjustment, 3+ times a day, because room temperatures vary. Ball pythons also need high humidity, 40-60% all the time and 60-80% when they're shedding.
As far as eating is concerned, they don't do it when they're not comfortable or stressed. They can safely go many months without eating. The first thing for you to do is get his enclosure to proper temps and humidity. Once there, give him a week to relax then offer food.